diff --git a/.gitignore b/.gitignore
index 6be0940..1f6fd57 100644
--- a/.gitignore
+++ b/.gitignore
@@ -21,4 +21,5 @@ yarn-error.log
/public/css/brands.min.css
/public/css/duotone.min.css
/public/css/fontawesome.min.css
+/public/img/avatars
.npmrc
diff --git a/app/Ability.php b/app/Ability.php
new file mode 100644
index 0000000..a0f5d1e
--- /dev/null
+++ b/app/Ability.php
@@ -0,0 +1,14 @@
+belongsToMany(Role::class);
+ }
+}
diff --git a/app/Channel.php b/app/Channel.php
new file mode 100644
index 0000000..2f44eda
--- /dev/null
+++ b/app/Channel.php
@@ -0,0 +1,49 @@
+color;
+ }
+
+ public function getTextColorAttribute() {
+ return 'color: '.$this->color;
+ }
+
+ public function getRouteKeyName() {
+ return 'slug';
+ }
+
+ public function sluggable() {
+ return [
+ 'slug' => [
+ 'source' => 'name'
+ ]
+ ];
+ }
+
+ public function getSearchResult(): SearchResult {
+ $url = route('admin.channels.edit', $this);
+
+ return new SearchResult(
+ $this,
+ $this->name,
+ $url
+ );
+ }
+}
\ No newline at end of file
diff --git a/app/ChannelMilestonePlatform.php b/app/ChannelMilestonePlatform.php
new file mode 100644
index 0000000..2eaec21
--- /dev/null
+++ b/app/ChannelMilestonePlatform.php
@@ -0,0 +1,21 @@
+belongsTo(ChannelPlatform::class);
+ }
+
+ public function milestonePlatform() {
+ return $this->belongsTo(MilestonePlatform::class);
+ }
+}
diff --git a/app/ChannelPlatform.php b/app/ChannelPlatform.php
new file mode 100644
index 0000000..22f005d
--- /dev/null
+++ b/app/ChannelPlatform.php
@@ -0,0 +1,21 @@
+belongsTo(Channel::class);
+ }
+
+ public function platform() {
+ return $this->belongsTo(Platform::class);
+ }
+}
diff --git a/app/Helpers/GlobalHelper.php b/app/Helpers/GlobalHelper.php
new file mode 100644
index 0000000..111af0f
--- /dev/null
+++ b/app/Helpers/GlobalHelper.php
@@ -0,0 +1,6 @@
+where('name', $name)->first()->value;
+}
\ No newline at end of file
diff --git a/app/Helpers/PlatformHelper.php b/app/Helpers/PlatformHelper.php
index 9b8f793..d3ae827 100644
--- a/app/Helpers/PlatformHelper.php
+++ b/app/Helpers/PlatformHelper.php
@@ -33,6 +33,22 @@ function getPlatformIcon($id) {
}
}
+function getPlatformIconAdmin($id) {
+ switch ($id) {
+ case 1: return '';
+ case 2: return '';
+ case 3: return '';
+ case 4: return '';
+ case 5: return '';
+ case 6: return '';
+ case 7: return '';
+ case 8: return '';
+ case 9: return '';
+ case 10: return '';
+ default: return '';
+ }
+}
+
function getPlatformIconNoStyle($id) {
switch ($id) {
case 1: return '';
diff --git a/app/Helpers/TileHelper.php b/app/Helpers/TileHelper.php
index d2c3e45..c13614b 100644
--- a/app/Helpers/TileHelper.php
+++ b/app/Helpers/TileHelper.php
@@ -9,3 +9,16 @@ function getTile( $flight ) {
+ "
+ >
+ channelPlatform->name ?>
+ build ?>.delta ?>
+ format ?>
+
+ authorize('show_channels');
+
+ $channels = Channel::orderBy('position')->get();
+
+ return view('core.channels.index', compact('channels'));
+ }
+
+ /**
+ * Store a newly created resource in storage.
+ *
+ * @param \Illuminate\Http\Request $request
+ * @return \Illuminate\Http\Response
+ */
+ public function store(Request $request) {
+ $this->authorize('create_channel');
+
+ $this->validate(request(), [
+ 'name' => ['required'],
+ 'color' => ['required'],
+ 'position' => ['required']
+ ], [
+ 'name.required' => 'The name is required.',
+ 'color.required' => 'The color is required.',
+ 'position.required' => 'The position is required.'
+ ]);
+
+ $channel = Channel::create([
+ 'name' => request('name'),
+ 'color' => '#'.request('color'),
+ 'position' => request('position')
+ ]);
+
+ return redirect()->route('admin.channels.edit', $channel)->with('status', 'The channel '.$channel->name.' has been added.');
+ }
+
+ /**
+ * Show the form for editing the specified resource.
+ *
+ * @param \App\Channel $channel
+ * @return \Illuminate\Http\Response
+ */
+ public function edit(Channel $channel) {
+ $this->authorize('edit_channel');
+
+ return view('core.channels.edit', compact('channel'));
+ }
+
+ /**
+ * Update the specified resource in storage.
+ *
+ * @param \Illuminate\Http\Request $request
+ * @param \App\Channel $channel
+ * @return \Illuminate\Http\Response
+ */
+ public function update(Request $request, Channel $channel) {
+ $this->authorize('edit_channel');
+
+ $this->validate(request(), [
+ 'name' => ['required'],
+ 'color' => ['required'],
+ 'position' => ['required']
+ ], [
+ 'name.required' => 'The name is required.',
+ 'color.required' => 'The color is required.',
+ 'position.required' => 'The position is required.'
+ ]);
+
+ $channel->update([
+ 'name' => request('name'),
+ 'color' => '#'.request('color'),
+ 'position' => request('position')
+ ]);
+
+ return redirect()->route('admin.channels')->with('status', 'The changes to '.$channel->name.' have been saved.');
+ }
+
+ /**
+ * Remove the specified resource from storage.
+ *
+ * @param \App\Channel $channel
+ * @return \Illuminate\Http\Response
+ */
+ public function destroy(Channel $channel) {
+ $this->authorize('delete_channel');
+
+ $channel->delete();
+
+ return redirect()->route('admin.channels')->with('status', 'The channel '.$channel->name.' has been removed.');
+ }
+}
diff --git a/app/Http/Controllers/Admin/ChannelMilestonePlatformController.php b/app/Http/Controllers/Admin/ChannelMilestonePlatformController.php
new file mode 100644
index 0000000..6efc440
--- /dev/null
+++ b/app/Http/Controllers/Admin/ChannelMilestonePlatformController.php
@@ -0,0 +1,41 @@
+authorize('edit_milestone');
+
+ $channelMilestonePlatform = ChannelMilestonePlatform::create([
+ 'milestone_platform_id' => $milestonePlatform->id,
+ 'channel_platform_id' => $channelPlatform->id,
+ 'active' => 1
+ ]);
+
+ return redirect()->back()->with('status', ''.$channelPlatform->name.' has been added to '.$milestonePlatform->platform->name.' for '.$milestonePlatform->milestone->name.'.');
+ }
+
+ public function toggle(ChannelMilestonePlatform $channelMilestonePlatform) {
+ $this->authorize('edit_milestone');
+
+ $channelMilestonePlatform->update([
+ 'active' => $channelMilestonePlatform->active === 1 ? 0 : 1
+ ]);
+
+ return redirect()->back()->with('status', ''.$channelMilestonePlatform->channelPlatform->name.' has been toggled for '.$channelMilestonePlatform->milestonePlatform->platform->name.' for '.$channelMilestonePlatform->milestonePlatform->milestone->name.'.');
+ }
+
+ public function destroy(ChannelMilestonePlatform $channelMilestonePlatform) {
+ $this->authorize('edit_milestone');
+
+ $channelMilestonePlatform->delete();
+
+ return redirect()->back()->with('status', ''.$channelMilestonePlatform->channelPlatform->name.' has been removed from '.$channelMilestonePlatform->milestonePlatform->platform->name.' for '.$channelMilestonePlatform->milestonePlatform->milestone->name.'.');
+ }
+}
diff --git a/app/Http/Controllers/Admin/ChannelPlatformController.php b/app/Http/Controllers/Admin/ChannelPlatformController.php
new file mode 100644
index 0000000..bd277e3
--- /dev/null
+++ b/app/Http/Controllers/Admin/ChannelPlatformController.php
@@ -0,0 +1,52 @@
+authorize('edit_platform');
+
+ $this->validate(request(), [
+ 'channel' => ['required'],
+ 'platform' => ['required'],
+ 'name' => ['required'],
+ 'short_name' => ['required']
+ ], [
+ 'channel.required' => 'A channel is required.',
+ 'platform.required' => 'A platform is required.',
+ 'name.required' => 'A platform is required.',
+ 'short_name.required' => 'A platform is required.'
+ ]);
+
+ $channelPlatform = ChannelPlatform::create([
+ 'channel_id' => request('channel'),
+ 'platform_id' => request('platform'),
+ 'name' => request('name'),
+ 'short_name' => request('short_name')
+ ]);
+
+ return redirect()->back()->with('status', ''.$channelPlatform->channel->name.' has been added to '.$channelPlatform->platform->name.'.');
+ }
+
+ public function toggle(ChannelPlatform $channelPlatform) {
+ $this->authorize('edit_platform');
+
+ $channelPlatform->update([
+ 'active' => $channelPlatform->active === 1 ? 0 : 1
+ ]);
+
+ return redirect()->back()->with('status', ''.$channelPlatform->channel->name.' has been toggled.');
+ }
+
+ public function destroy(ChannelPlatform $channelPlatform) {
+ $this->authorize('edit_platform');
+
+ $channelPlatform->delete();
+
+ return redirect()->back()->with('status', ''.$channelPlatform->channel->name.' has been removed from '.$channelPlatform->platform->name.'.');
+ }
+}
diff --git a/app/Http/Controllers/Admin/MilestonePlatformController.php b/app/Http/Controllers/Admin/MilestonePlatformController.php
new file mode 100644
index 0000000..db11535
--- /dev/null
+++ b/app/Http/Controllers/Admin/MilestonePlatformController.php
@@ -0,0 +1,30 @@
+authorize('edit_milestone');
+
+ $milestonePlatform = MilestonePlatform::create([
+ 'milestone_id' => $milestone->id,
+ 'platform_id' => $platform->id
+ ]);
+
+ return redirect()->back()->with('status', ''.$milestonePlatform->platform->name.' has been added to '.$milestonePlatform->milestone->name.'.');
+ }
+
+ public function destroy(MilestonePlatform $milestonePlatform) {
+ $this->authorize('edit_milestone');
+
+ $milestonePlatform->delete();
+
+ return redirect()->back()->with('status', ''.$milestonePlatform->platform->name.' has been removed from '.$milestonePlatform->milestone->name.'.');
+ }
+}
diff --git a/app/Http/Controllers/Admin/PlatformController.php b/app/Http/Controllers/Admin/PlatformController.php
new file mode 100644
index 0000000..bc2fb8d
--- /dev/null
+++ b/app/Http/Controllers/Admin/PlatformController.php
@@ -0,0 +1,116 @@
+authorize('show_platforms');
+
+ $platforms = Platform::orderBy('position')->get();
+
+ return view('core.platforms.index', compact('platforms'));
+ }
+
+ /**
+ * Store a newly created resource in storage.
+ *
+ * @param \Illuminate\Http\Request $request
+ * @return \Illuminate\Http\Response
+ */
+ public function store(Request $request) {
+ $this->authorize('create_platform');
+
+ $this->validate(request(), [
+ 'name' => ['required'],
+ 'color' => ['required'],
+ 'position' => ['required'],
+ 'icon' => ['required']
+ ], [
+ 'name.required' => 'The name is required.',
+ 'color.required' => 'The color is required.',
+ 'position.required' => 'The position is required.',
+ 'icon.required' => 'The icon is required.'
+ ]);
+
+ $platform = Platform::create([
+ 'name' => request('name'),
+ 'color' => '#'.request('color'),
+ 'position' => request('position'),
+ 'icon' => request('icon')
+ ]);
+
+ return redirect()->route('admin.platforms.edit', $platform)->with('status', 'The platform '.$platform->name.' has been added.');
+ }
+
+ /**
+ * Show the form for editing the specified resource.
+ *
+ * @param \App\Platform $platform
+ * @return \Illuminate\Http\Response
+ */
+ public function edit(Platform $platform) {
+ $this->authorize('edit_platform');
+
+ $channels = Channel::all();
+
+ return view('core.platforms.edit', compact('platform', 'channels'));
+ }
+
+ /**
+ * Update the specified resource in storage.
+ *
+ * @param \Illuminate\Http\Request $request
+ * @param \App\Platform $platform
+ * @return \Illuminate\Http\Response
+ */
+ public function update(Request $request, Platform $platform) {
+ $this->authorize('edit_platform');
+
+ $this->validate(request(), [
+ 'name' => ['required'],
+ 'color' => ['required'],
+ 'position' => ['required'],
+ 'icon' => ['required']
+ ], [
+ 'name.required' => 'The name is required.',
+ 'color.required' => 'The color is required.',
+ 'position.required' => 'The position is required.',
+ 'icon.required' => 'The icon is required.'
+ ]);
+
+ $platform->update([
+ 'name' => request('name'),
+ 'color' => '#'.request('color'),
+ 'position' => request('position'),
+ 'icon' => request('icon'),
+ 'active' => request('active') !== null ? 1 : 0
+ ]);
+
+ return redirect()->route('admin.platforms')->with('status', 'The changes to '.$platform->name.' have been saved.');
+ }
+
+ /**
+ * Remove the specified resource from storage.
+ *
+ * @param \App\Platform $platform
+ * @return \Illuminate\Http\Response
+ */
+ public function destroy(Platform $platform) {
+ $this->authorize('delete_platform');
+
+ $platform->delete();
+
+ return redirect()->route('admin.platforms')->with('status', 'The platform '.$platform->name.' has been removed.');
+ }
+}
diff --git a/app/Http/Controllers/FlightController.php b/app/Http/Controllers/FlightController.php
index 7ba3029..4a56256 100644
--- a/app/Http/Controllers/FlightController.php
+++ b/app/Http/Controllers/FlightController.php
@@ -4,8 +4,6 @@
use Illuminate\Http\Request;
use App\Release;
-use App\Milestone;
-use Twitter;
class FlightController extends Controller
{
diff --git a/app/Http/Controllers/MilestoneController.php b/app/Http/Controllers/MilestoneController.php
index 17fd19c..692cf66 100644
--- a/app/Http/Controllers/MilestoneController.php
+++ b/app/Http/Controllers/MilestoneController.php
@@ -8,7 +8,6 @@
use Carbon\Carbon;
use Illuminate\Http\Request;
use Parsedown;
-use Twitter;
class MilestoneController extends Controller
{
@@ -27,7 +26,7 @@ public function __construct()
* @return \Illuminate\Http\Response
*/
public function index() {
- $milestones = Milestone::orderBy('version', 'DESC')->get();
+ $milestones = Milestone::orderBy('version', 'desc')->get();
return view('milestones.index', compact('milestones'));
}
@@ -40,15 +39,15 @@ public function index() {
*/
public function show(Request $request, $id) {
$milestone = Milestone::findOrFail($id);
- $previous = Milestone::where('version', '<', $milestone->version)->orderBy('version', 'DESC')->first();
- $next = Milestone::where('version', '>', $milestone->version)->orderBy('version', 'ASC')->first();
+ $previous = Milestone::where('version', '<', $milestone->version)->orderBy('version', 'desc')->first();
+ $next = Milestone::where('version', '>', $milestone->version)->orderBy('version', 'asc')->first();
$progress = $milestone->getSupport();
$platforms = Release::select('platform', \DB::raw('count(build) as count'))->where('milestone', $milestone->id)->groupBy('platform')->orderBy('platform')->get();
foreach ($platforms as $platform) {
- $platform->builds = Release::where('milestone', $milestone->id)->where('platform', $platform->platform)->orderBy('date', 'DESC')->orderBy('delta', 'DESC')->limit(7)->get();
+ $platform->builds = Release::where('milestone', $milestone->id)->where('platform', $platform->platform)->orderBy('date', 'desc')->orderBy('delta', 'desc')->limit(7)->get();
}
return view('milestones.show', compact('milestone', 'previous', 'next', 'platforms', 'progress'));
@@ -71,7 +70,7 @@ public function platform(Request $request, $id, $platform) {
$platforms = Release::select('platform', \DB::raw('count(build) as count'))->where('milestone', $milestone->id)->groupBy('platform')->orderBy('platform')->get();
- $releases = Release::where('milestone', $id)->where('platform', $platform_id)->orderBy('build', 'DESC')->orderBy('delta', 'DESC')->orderBy('ring', 'ASC')->get();
+ $releases = Release::where('milestone', $id)->where('platform', $platform_id)->orderBy('build', 'desc')->orderBy('delta', 'desc')->orderBy('ring', 'asc')->get();
foreach ($releases as $release) {
$timeline[$release->build.'.'.$release->delta][$release->ring] = $release->date->format('j M \'y');
diff --git a/app/Http/Controllers/ProfileController.php b/app/Http/Controllers/ProfileController.php
index 0a7f93c..9e2365d 100644
--- a/app/Http/Controllers/ProfileController.php
+++ b/app/Http/Controllers/ProfileController.php
@@ -3,7 +3,9 @@
namespace App\Http\Controllers;
use Illuminate\Http\Request;
-use app\User;
+use Illuminate\Support\Facades\Auth;
+use App\User;
+use Illuminate\Validation\Rule;
class ProfileController extends Controller
{
@@ -23,19 +25,20 @@ public function __construct()
* @return \Illuminate\Http\Response
*/
public function index(Request $request) {
- $request->user()->authorizeRoles(['Admin', 'Insider', 'User']);
+ $user = Auth::user();
- return view('profile');
+ return view('profile.index', compact('user'));
}
/**
- * Display the specified resource.
+ * Display a listing of the resource.
*
- * @param int $id
* @return \Illuminate\Http\Response
*/
- public function show($id) {
- //
+ public function password() {
+ $user = Auth::user();
+
+ return view('profile.password', compact('user'));
}
/**
@@ -45,15 +48,6 @@ public function show($id) {
* @return \Illuminate\Http\Response
*/
public function edit(Request $request, $id) {
- $request->user()->authorizeRoles(['Admin', 'Insider', 'User']);
-
- $user = User::find($id);
-
- $user->theme = request()->get('theme');
-
- $user->save();
-
- return redirect()->route('profile');
}
/**
@@ -63,18 +57,56 @@ public function edit(Request $request, $id) {
* @param int $id
* @return \Illuminate\Http\Response
*/
- public function update(Request $request, $id) {
- //
+ public function update(User $user) {
+ $attributes = request()->validate([
+ 'email' => ['string', 'required', 'email', 'max:255', Rule::unique('users')->ignore($user)],
+ 'avatar' => ['nullable', 'mimes:png', 'max:40960', 'dimensions:min_width=400,min_height=400,max_width=400,max_height=400'],
+ ], [
+ 'email.required' => 'Email is required.',
+ 'email.max' => 'Email cannot be longer than 255 characters.',
+ 'email.email' => 'Email is not a valid address.',
+ 'avatar.mimes' => 'Avatar is not a png-file.',
+ 'avatar.dimensions' => 'Avatar must be 400x400 pixels in size.'
+ ]);
+
+ $updateable = [
+ 'email' => request('email'),
+ 'theme' => request('theme')
+ ];
+
+ if (request('avatar')) {
+ $avatar = request()->file('avatar');
+ $avatar_name = $user->id.'.'.$avatar->getClientOriginalExtension();
+ $avatar->move(public_path('img/avatars'), $avatar_name);
+
+ $updateable['avatar_path'] = 'img/avatars/'.$avatar_name;
+ }
+
+ $user->update($updateable);
+
+ return redirect()->route('front.profile')->with('status', 'Your changes have been saved.');
}
/**
- * Remove the specified resource from storage.
+ * Update the specified resource in storage.
*
+ * @param \Illuminate\Http\Request $request
* @param int $id
* @return \Illuminate\Http\Response
*/
- public function destroy($id) {
- $request->user()->authorizeRoles('Admin');
- //
+ public function changePassword(User $user) {
+ $attributes = request()->validate([
+ 'password' => ['nullable', 'string', 'min:8', 'max:255', 'confirmed']
+ ], [
+ 'password.min' => 'Wachtwoord moet minstens 8 tekens bevatten.',
+ 'password.max' => 'Wachtwoord mag maximum 255 tekens bevatten.',
+ 'password.confirmed' => 'Wachtwoord komt niet overeen.'
+ ]);
+
+ $user->update([
+ 'password' => request('password')
+ ]);
+
+ return redirect()->route('front.profile')->with('status', 'Your password has been updated.');
}
}
diff --git a/app/Http/Controllers/RingsController.php b/app/Http/Controllers/RingsController.php
index 8434c3e..0721269 100644
--- a/app/Http/Controllers/RingsController.php
+++ b/app/Http/Controllers/RingsController.php
@@ -5,46 +5,28 @@
use Illuminate\Http\Request;
use App\Release;
use App\Milestone;
+use App\Platform;
+use App\MilestonePlatform;
+use App\ChannelPlatform;
class RingsController extends Controller
{
public function index() {
- $flights['pc']['fast'] = Release::pc()->active()->latestFlight()->first();
- $flights['pc']['slow'] = Release::pc()->slow()->latestFlight()->first();
- $flights['pc']['release'] = Release::pc()->release()->latestFlight()->first();
- $flights['pc']['targeted'] = Release::pc()->targeted()->latestFlight()->first();
- $flights['pc']['broad'] = Release::pc()->broad()->latestFlight()->first();
- $flights['pc']['ltsc'] = Release::pc()->ltsc()->latestFlight()->first();
-
- $flights['xbox']['skip'] = Release::xbox()->skip()->latestFlight()->first();
- $flights['xbox']['fast'] = Release::xbox()->active()->latestFlight()->first();
- $flights['xbox']['slow'] = Release::xbox()->slow()->latestFlight()->first();
- $flights['xbox']['preview'] = Release::xbox()->preview()->latestFlight()->first();
- $flights['xbox']['release'] = Release::xbox()->release()->latestFlight()->first();
- $flights['xbox']['targeted'] = Release::xbox()->targeted()->latestFlight()->first();
-
- $flights['server']['slow'] = Release::server()->slow()->latestFlight()->first();
- $flights['server']['targeted'] = Release::server()->targeted()->latestFlight()->first();
- $flights['server']['ltsc'] = Release::server()->ltsc()->latestFlight()->first();
-
- $flights['iot']['targeted'] = Release::iot()->targeted()->latestFlight()->first();
- $flights['iot']['broad'] = Release::iot()->broad()->latestFlight()->first();
-
- $flights['holo']['fast'] = Release::holographic()->active()->latestFlight()->first();
- $flights['holo']['slow'] = Release::holographic()->slow()->latestFlight()->first();
- $flights['holo']['targeted'] = Release::holographic()->targeted()->latestFlight()->first();
- $flights['holo']['broad'] = Release::holographic()->broad()->latestFlight()->first();
- $flights['holo']['ltsc'] = Release::holographic()->ltsc()->latestFlight()->first();
-
- $flights['team']['fast'] = Release::team()->active()->latestFlight()->first();
- $flights['team']['slow'] = Release::team()->slow()->latestFlight()->first();
- $flights['team']['targeted'] = Release::team()->targeted()->latestFlight()->first();
- $flights['team']['broad'] = Release::team()->broad()->latestFlight()->first();
-
- $flights['tenx']['slow'] = Release::tenX()->slow()->latestFlight()->first();
-
- $flights['sdk']['targeted'] = Release::sdk()->targeted()->latestFlight()->first();
- $flights['iso']['targeted'] = Release::iso()->targeted()->latestFlight()->first();
+ $platforms = Platform::all();
+ $flights = [];
+
+ foreach($platforms as $platform) {
+ foreach($platform->channelPlatforms as $channelPlatform) {
+ if ($channelPlatform->active === "1") {
+ $flights[$platform->slug][$channelPlatform->channel->slug] = Release::where('platform', '=', $platform->id)
+ ->where('ring', '=', $channelPlatform->channel->id)
+ ->orderBy('build', 'desc')
+ ->orderBy('delta', 'desc')
+ ->orderBy('date', 'desc')
+ ->first();
+ }
+ }
+ }
return view('rings.index', compact('flights'));
}
@@ -53,23 +35,35 @@ public function platform(Request $request, $platform) {
$set = [];
$platform_id = getPlatformIdByClass($platform);
- $milestones = Milestone::orderBy('version', 'DESC')->get();
+ $mps = MilestonePlatform::where('platform_id', '=', $platform_id)
+ ->orderBy('milestone_id')
+ ->get();
- foreach($milestones as $milestone) {
- if ( in_array( 1, $milestone->getFlights()[getPlatformClass($platform_id)] ) ) {
- $set[$milestone->id]['milestone'] = $milestone;
+ $cps = ChannelPlatform::where('platform_id', '=', $platform_id)
+ ->orderBy('channel_id')
+ ->get();
- foreach($milestone->getFlights()[getPlatformClass($platform_id)] as $ring => $flight) {
- if ($flight == 1) {
- $release = Release::where('milestone', $milestone->id)->where('ring', getRingIdByClass($ring))->where('platform', $platform_id)->orderBy('date', 'desc')->first();
- $set[$milestone->id]['flights'][$ring] = $release;
- } elseif ($flight == 0) {
- $set[$milestone->id]['flights'][$ring] = false;
- }
- }
+ foreach($mps as $mp) {
+ $set[$mp->milestone->start_build]['milestone'] = $mp->milestone;
+
+ foreach($cps as $cp) {
+ $set[$mp->milestone->start_build]['flights'][$cp->channel_id] = null;
+ }
+
+ foreach($mp->channelMilestonePlatforms as $cmp) {
+ $release = Release::where('milestone', $cmp->milestonePlatform->milestone_id)
+ ->where('ring', $cmp->channelPlatform->channel_id)
+ ->where('platform', $cmp->channelPlatform->platform_id)
+ ->orderBy('date', 'desc')
+ ->first();
+
+ $set[$mp->milestone->start_build]['flights'][$cmp->channelPlatform->channel_id]['flight'] = $release;
+ $set[$mp->milestone->start_build]['flights'][$cmp->channelPlatform->channel_id]['channel'] = $cmp;
}
}
+ $set = collect($set)->sortKeysDesc();
+
return view('rings.platform', compact('set'));
}
}
diff --git a/app/Http/Controllers/TimelineController.php b/app/Http/Controllers/TimelineController.php
index 707c87c..bd83323 100644
--- a/app/Http/Controllers/TimelineController.php
+++ b/app/Http/Controllers/TimelineController.php
@@ -4,6 +4,7 @@
use Illuminate\Http\Request;
use App\Release;
+use App\Platform;
use Parsedown;
class TimelineController extends Controller
@@ -32,43 +33,23 @@ public function index(Request $request) {
$timeline[$release->date->format('j F Y')][$release->build][$release->delta][$release->platform][$release->ring] = $release;
$timeline[$release->date->format('j F Y')][$release->build][$release->delta][$release->platform]['default'] = $release;
}
-
- $flights['pc']['fast'] = Release::pc()->active()->latestFlight()->first();
- $flights['pc']['slow'] = Release::pc()->slow()->latestFlight()->first();
- $flights['pc']['release'] = Release::pc()->release()->latestFlight()->first();
- $flights['pc']['targeted'] = Release::pc()->targeted()->latestFlight()->first();
- $flights['pc']['broad'] = Release::pc()->broad()->latestFlight()->first();
- $flights['pc']['ltsc'] = Release::pc()->ltsc()->latestFlight()->first();
-
- $flights['xbox']['skip'] = Release::xbox()->skip()->latestFlight()->first();
- $flights['xbox']['fast'] = Release::xbox()->active()->latestFlight()->first();
- $flights['xbox']['slow'] = Release::xbox()->slow()->latestFlight()->first();
- $flights['xbox']['preview'] = Release::xbox()->preview()->latestFlight()->first();
- $flights['xbox']['release'] = Release::xbox()->release()->latestFlight()->first();
- $flights['xbox']['targeted'] = Release::xbox()->targeted()->latestFlight()->first();
-
- $flights['server']['slow'] = Release::server()->slow()->latestFlight()->first();
- $flights['server']['targeted'] = Release::server()->targeted()->latestFlight()->first();
- $flights['server']['ltsc'] = Release::server()->ltsc()->latestFlight()->first();
-
- $flights['iot']['targeted'] = Release::iot()->targeted()->latestFlight()->first();
- $flights['iot']['broad'] = Release::iot()->broad()->latestFlight()->first();
-
- $flights['holo']['fast'] = Release::holographic()->active()->latestFlight()->first();
- $flights['holo']['slow'] = Release::holographic()->slow()->latestFlight()->first();
- $flights['holo']['targeted'] = Release::holographic()->targeted()->latestFlight()->first();
- $flights['holo']['broad'] = Release::holographic()->broad()->latestFlight()->first();
- $flights['holo']['ltsc'] = Release::holographic()->ltsc()->latestFlight()->first();
-
- $flights['team']['fast'] = Release::team()->active()->latestFlight()->first();
- $flights['team']['slow'] = Release::team()->slow()->latestFlight()->first();
- $flights['team']['targeted'] = Release::team()->targeted()->latestFlight()->first();
- $flights['team']['broad'] = Release::team()->broad()->latestFlight()->first();
-
- $flights['tenx']['slow'] = Release::tenX()->slow()->latestFlight()->first();
-
- $flights['sdk']['targeted'] = Release::sdk()->targeted()->latestFlight()->first();
- $flights['iso']['targeted'] = Release::iso()->targeted()->latestFlight()->first();
+
+ // Sidebar
+ $platforms = Platform::all();
+ $flights = [];
+
+ foreach($platforms as $platform) {
+ foreach($platform->channelPlatforms as $channelPlatform) {
+ if ($channelPlatform->active === "1") {
+ $flights[$platform->slug][$channelPlatform->channel->slug] = Release::where('platform', '=', $platform->id)
+ ->where('ring', '=', $channelPlatform->channel->id)
+ ->orderBy('build', 'desc')
+ ->orderBy('delta', 'desc')
+ ->orderBy('date', 'desc')
+ ->first();
+ }
+ }
+ }
return view('timeline', compact('releases', 'flights', 'timeline', 'request'));
}
diff --git a/app/Http/Controllers/UserController.php b/app/Http/Controllers/UserController.php
deleted file mode 100644
index 6f7ecba..0000000
--- a/app/Http/Controllers/UserController.php
+++ /dev/null
@@ -1,107 +0,0 @@
-middleware('auth');
- }
-
- /**
- * Display a listing of the resource.
- *
- * @return \Illuminate\Http\Response
- */
- public function index(Request $request) {
- $request->user()->authorizeRoles('Admin');
-
- $users = User::paginate(50);
-
- return view('users', compact('users'));
- }
-
- public function promote(Request $request, $id) {
- $request->user()->authorizeRoles('Admin');
-
- $user = User::find($id);
-
- $old_role = Role::find($user->roles[0]->id);
- $new_role = Role::find($user->roles[0]->id - 1);
-
- $user->roles()->detach($old_role);
- $user->roles()->attach($new_role);
-
- return redirect('/users');
- }
-
- public function demote(Request $request, $id) {
- $request->user()->authorizeRoles('Admin');
-
- $user = User::find($id);
-
- $old_role = Role::find($user->roles[0]->id);
- $new_role = Role::find($user->roles[0]->id + 1);
-
- $user->roles()->detach($old_role);
- $user->roles()->attach($new_role);
-
- return redirect('/users');
- }
-
- /**
- * Display the specified resource.
- *
- * @param int $id
- * @return \Illuminate\Http\Response
- */
- public function show($id) {
- //
- }
-
- /**
- * Show the form for editing the specified resource.
- *
- * @param int $id
- * @return \Illuminate\Http\Response
- */
- public function edit($id) {
- //
- }
-
- /**
- * Update the specified resource in storage.
- *
- * @param \Illuminate\Http\Request $request
- * @param int $id
- * @return \Illuminate\Http\Response
- */
- public function update(Request $request, $id) {
- //
- }
-
- /**
- * Remove the specified resource from storage.
- *
- * @param int $id
- * @return \Illuminate\Http\Response
- */
- public function destroy(Request $request, $id) {
- $request->user()->authorizeRoles('Admin');
-
- $user = User::find($id);
- $user->delete();
-
- return redirect('/users');
- }
-}
diff --git a/app/Http/Controllers/admin/AbilityController.php b/app/Http/Controllers/admin/AbilityController.php
new file mode 100644
index 0000000..8748c22
--- /dev/null
+++ b/app/Http/Controllers/admin/AbilityController.php
@@ -0,0 +1,87 @@
+authorize('show_abilities');
+
+ $abilities = Ability::get();
+
+ return view('core.abilities.index', compact('abilities'));
+ }
+
+ /**
+ * Store a newly created resource in storage.
+ *
+ * @param \Illuminate\Http\Request $request
+ * @return \Illuminate\Http\Response
+ */
+ public function store(Request $request) {
+ $this->authorize('create_ability');
+
+ $this->validate(request(), [
+ 'name' => ['required'],
+ 'label' => ['required']
+ ]);
+
+ $ability = Ability::create([
+ 'name' => request('name'),
+ 'label' => request('label')
+ ]);
+
+ return redirect()->route('admin.abilities.edit', $ability)->with('status', 'The permission '.$ability->name.' has been added.');
+ }
+
+ /**
+ * Show the form for editing the specified resource.
+ *
+ * @param \App\Ability $ability
+ * @return \Illuminate\Http\Response
+ */
+ public function edit(Ability $ability) {
+ return view('core.abilities.edit', compact('ability'));
+ }
+
+ /**
+ * Update the specified resource in storage.
+ *
+ * @param \Illuminate\Http\Request $request
+ * @param \App\Ability $ability
+ * @return \Illuminate\Http\Response
+ */
+ public function update(Request $request, Ability $ability) {
+ $this->authorize('edit_ability');
+
+ $this->validate(request(), [
+ 'name' => ['required'],
+ 'label' => ['required']
+ ]);
+
+ $ability->update([
+ 'name' => request('name'),
+ 'label' => request('label')
+ ]);
+
+ return redirect()->route('admin.abilities')->with('status', 'The changes for '.$ability->name.' have been saved.');
+ }
+
+ /**
+ * Remove the specified resource from storage.
+ *
+ * @param \App\Ability $ability
+ * @return \Illuminate\Http\Response
+ */
+ public function destroy(Ability $ability) {
+ //
+ }
+}
diff --git a/app/Http/Controllers/admin/AboutController.php b/app/Http/Controllers/admin/AboutController.php
new file mode 100644
index 0000000..11e1ac9
--- /dev/null
+++ b/app/Http/Controllers/admin/AboutController.php
@@ -0,0 +1,28 @@
+middleware('auth');
+ }
+
+ /**
+ * Display a listing of the resource.
+ *
+ * @return \Illuminate\Http\Response
+ */
+ public function index() {
+ return view('core.about.index');
+ }
+}
diff --git a/app/Http/Controllers/admin/AccountController.php b/app/Http/Controllers/admin/AccountController.php
new file mode 100644
index 0000000..3a2af25
--- /dev/null
+++ b/app/Http/Controllers/admin/AccountController.php
@@ -0,0 +1,76 @@
+authorize('show_users');
+
+ $users = User::orderBy('name')->paginate(50);
+
+ return view('core.accounts.index', compact('users'));
+ }
+
+ /**
+ * Show the form for editing the specified resource.
+ *
+ * @param int $id
+ * @return \Illuminate\Http\Response
+ */
+ public function edit(User $user) {
+ $roles = Role::get();
+
+ return view('core.accounts.edit', compact('user', 'roles'));
+ }
+
+ /**
+ * Update the specified resource in storage.
+ *
+ * @param \Illuminate\Http\Request $request
+ * @param int $id
+ * @return \Illuminate\Http\Response
+ */
+ public function update(User $user) {
+ $this->authorize('edit_user');
+
+ $this->validate(request(), [
+ 'name' => ['required'],
+ 'role_id' => ['required'],
+ 'email' => ['required', 'email']
+ ]);
+
+ $user->update([
+ 'name' => request('name'),
+ 'role_id' => request('role_id'),
+ 'email' => request('email')
+ ]);
+
+ return redirect()->route('admin.accounts')->with('status', 'The changes for '.$user->name.' have been saved.');
+ }
+
+ /**
+ * Remove the specified resource from storage.
+ *
+ * @param int $id
+ * @return \Illuminate\Http\Response
+ */
+ public function destroy(User $user) {
+ $this->authorize('delete_user');
+
+ $user->delete();
+
+ return redirect()->route('admin.users')->with('status', 'The account '.$user->name.' has been removed.');
+ }
+}
diff --git a/app/Http/Controllers/admin/ChangelogController.php b/app/Http/Controllers/admin/ChangelogController.php
new file mode 100644
index 0000000..bf5fe5f
--- /dev/null
+++ b/app/Http/Controllers/admin/ChangelogController.php
@@ -0,0 +1,99 @@
+authorize('show_logs');
+
+ if ($platform != null) {
+ $changelogs = Log::where('platform', $platform)
+ ->with('milestone')
+ ->paginate(50);
+ } else {
+ $changelogs = Log::orderBy('updated_at', 'desc')
+ ->with('milestone')
+ ->paginate(50);
+ }
+
+ $milestones = Milestone::orderBy('version', 'desc')->get();
+
+ return view('core.changelogs.index', compact('changelogs', 'platform', 'milestones'));
+ }
+
+ /**
+ * Store a newly created resource in storage.
+ *
+ * @param \Illuminate\Http\Request $request
+ * @return \Illuminate\Http\Response
+ */
+ public function store(Request $request) {
+ $this->authorize('create_log');
+
+ $log = Log::create([
+ 'milestone_id' => request()->get('milestone'),
+ 'platform' => request()->get('platform'),
+ 'changelog' => request()->get('changelog')
+ ]);
+
+ return redirect()->route('admin.changelogs.edit', $log)->with('status', 'The changelog for '.getPlatformById($log->platform).' version '.$log->milestone->version.' has been created.');
+ }
+
+ /**
+ * Show the form for editing the specified resource.
+ *
+ * @param int $id
+ * @return \Illuminate\Http\Response
+ */
+ public function edit(Log $log) {
+ $this->authorize('edit_log');
+
+ $milestones = Milestone::orderBy('version', 'desc')->get();
+
+ return view('core.changelogs.edit', compact('log', 'milestones'));
+ }
+
+ /**
+ * Update the specified resource in storage.
+ *
+ * @param \Illuminate\Http\Request $request
+ * @param int $id
+ * @return \Illuminate\Http\Response
+ */
+ function update(Log $log) {
+ $this->authorize('edit_log');
+
+ $log->update([
+ 'platform' => request()->get('platform'),
+ 'milestone_id' => request()->get('milestone'),
+ 'changelog' => request()->get('changelog')
+ ]);
+
+ return redirect()->route('admin.changelogs', $log)->with('status', 'The changelog for '.getPlatformById($log->platform).' version '.$log->milestone->version.' has been updated.');
+ }
+
+ /**
+ * Remove the specified resource from storage.
+ *
+ * @param int $id
+ * @return \Illuminate\Http\Response
+ */
+ public function destroy(Log $log) {
+ $this->authorize('delete_log');
+
+ $log->delete();
+
+ return redirect()->route('admin.changelogs')->with('status', 'The changelog for '.getPlatformById($log->platform).' version '.$log->milestone->version.' has been deleted.');
+ }
+}
diff --git a/app/Http/Controllers/admin/DashboardController.php b/app/Http/Controllers/admin/DashboardController.php
new file mode 100644
index 0000000..c0f66f1
--- /dev/null
+++ b/app/Http/Controllers/admin/DashboardController.php
@@ -0,0 +1,26 @@
+update(['onboarding' => config('app.viv')]);
+
+ return redirect()->route('admin.dashboard');
+ }
+}
diff --git a/app/Http/Controllers/admin/FlightController.php b/app/Http/Controllers/admin/FlightController.php
new file mode 100644
index 0000000..3e4b249
--- /dev/null
+++ b/app/Http/Controllers/admin/FlightController.php
@@ -0,0 +1,121 @@
+orderBy('build', 'desc')->orderBy('delta', 'desc')->orderBy('ring', 'desc')->paginate(100);
+ $platforms = Platform::where('active', 1)->get();
+
+ foreach ($releases as $release) {
+ $timeline[$release->date->format('j F Y')][$release->build][$release->delta][$release->platform][$release->ring] = $release;
+ }
+
+ return view('core.flights.index', compact('releases', 'platforms', 'timeline'));
+ }
+
+ /**
+ * Show the form for editing the specified resource.
+ *
+ * @return \Illuminate\Http\Response
+ */
+ public function store(Request $request) {
+ $this->authorize('create_flight');
+
+ $string = Release::splitString(request()->get('build_string'));
+ $milestone = Release::getMilestoneByString($string);
+
+ foreach(request()->get('flight') as $platform => $ring) {
+ $rings = array();
+
+ foreach($ring as $key => $value) {
+ Release::create([
+ 'major' => $string['major'],
+ 'minor' => $string['minor'],
+ 'build' => $string['build'],
+ 'delta' => $string['delta'],
+ 'milestone' => $milestone,
+ 'platform' => $platform,
+ 'ring' => $value,
+ 'date' => request()->get('date')
+ ]);
+
+ array_push($rings, getTweetRingById($value, $platform));
+ }
+
+ $hashtags = $platform === 3 ? '#Xbox #XboxInsider' : '#Windows #WindowsInsiders';
+
+ if (request()->get('tweet')) {
+ Twitter::postTweet(['status' => 'Build '.$string['build'].'.'.$string['delta'].' for '.getPlatformById($platform).' has been released to '.collect($rings)->join(', ', ' and ').'. '.$hashtags.' https://changewindows.org/milestones/'.$milestone.'/'.getPlatformClass($platform), 'format' => 'json']);
+ }
+ }
+
+ return redirect()->route('admin.flights')->with('status', 'Flight '.$string['build'].'.'.$string['delta'].' for '.getPlatformById($platform).' has been created.');
+ }
+
+ /**
+ * Show the form for editing the specified resource.
+ *
+ * @param \App\Release $release
+ * @return \Illuminate\Http\Response
+ */
+ public function edit(Release $release) {
+ $this->authorize('edit_flight');
+ $milestones = Milestone::orderBy('version', 'desc')->get();
+
+ return view('core.flights.edit', compact('release', 'milestones'));
+ }
+
+ /**
+ * Update the specified resource in storage.
+ *
+ * @param \Illuminate\Http\Request $request
+ * @param int $id
+ * @return \Illuminate\Http\Response
+ */
+ public function update(Release $release) {
+ $this->authorize('edit_flight');
+
+ $string = Release::splitString(request()->get('build_string'));
+
+ $release->update([
+ 'major' => $string['major'],
+ 'minor' => $string['minor'],
+ 'build' => $string['build'],
+ 'delta' => $string['delta'],
+ 'milestone' => request()->get('milestone'),
+ 'platform' => request()->get('platform'),
+ 'ring' => request()->get('ring'),
+ 'date' => request()->get('date')
+ ]);
+
+ return redirect()->route('admin.flights')->with('status', 'The changes to '.$release->build.'.'.$release->delta.' for '.getPlatformById($release->platform).' have been saved.');
+ }
+
+ /**
+ * Remove the specified resource from storage.
+ *
+ * @param int $id
+ * @return \Illuminate\Http\Response
+ */
+ public function destroy(Release $release) {
+ $this->authorize('delete_flight');
+
+ $release->delete();
+
+ return redirect()->route('admin.flights')->with('status', 'Flight '.$release->build.'.'.$release->delta.' for '.getPlatformById($release->platform).' has been removed.');
+ }
+}
diff --git a/app/Http/Controllers/admin/MilestoneController.php b/app/Http/Controllers/admin/MilestoneController.php
new file mode 100644
index 0000000..6459ad5
--- /dev/null
+++ b/app/Http/Controllers/admin/MilestoneController.php
@@ -0,0 +1,107 @@
+paginate(50);
+
+ return view('core.milestones.index', [
+ 'milestones' => $horizon_milestones
+ ]);
+ }
+
+ /**
+ * Show the form for editing the specified resource.
+ *
+ * @return \Illuminate\Http\Response
+ */
+ public function store(Request $request) {
+ $this->authorize('create_milestone');
+
+ $horizon_milestone = HorizonMilestone::create([
+ 'product_name' => request()->get('product_name'),
+ 'name' => request()->get('name'),
+ 'codename' => request()->get('codename'),
+ 'version' => request()->get('version'),
+ 'canonical_version' => request()->get('canonical_version'),
+ 'color' => request()->get('color')
+ ]);
+
+ Twitter::postTweet(['status' => 'Follow everything about '.request()->get('codename').' at ChangeWindows! #Windows #WindowsInsiders https://changewindows.org/milestones/'.request()->get('id'), 'format' => 'json']);
+
+ return redirect()->route('admin.milestones.edit', $horizon_milestone)->with('status', 'Milestone '.$horizon_milestone->product_name.' version '.$horizon_milestone->version.' has been created.');
+ }
+
+ /**
+ * Show the form for editing the specified resource.
+ *
+ * @param \App\HorizonMilestone $horizon_milestone
+ * @return \Illuminate\Http\Response
+ */
+ public function edit(HorizonMilestone $horizon_milestone) {
+ $this->authorize('edit_milestone');
+
+ $platforms = HorizonPlatform::all();
+
+ return view('core.milestones.edit', [
+ 'milestone' => $horizon_milestone,
+ 'platforms' => $platforms
+ ]);
+ }
+
+ /**
+ * Update the specified resource in storage.
+ *
+ * @param \Illuminate\Http\Request $request
+ * @param int $id
+ * @return \Illuminate\Http\Response
+ */
+ public function update(HorizonMilestone $horizon_milestone) {
+ $this->authorize('edit_milestone');
+
+ $horizon_milestone->update([
+ 'product_name' => request()->get('product_name'),
+ 'name' => request()->get('name'),
+ 'codename' => request()->get('codename'),
+ 'version' => request()->get('version'),
+ 'color' => request()->get('color'),
+ 'canonical_version' => request()->get('canonical_version'),
+ 'start_build' => request()->get('start_build'),
+ 'start_preview' => request()->get('start_preview') === null ? '0000-01-01' : request()->get('start_preview'),
+ 'start_public' => request()->get('start_public') === null ? '0000-01-01' : request()->get('start_public'),
+ 'start_extended' => request()->get('start_extended') === null ? '0000-01-01' : request()->get('start_extended'),
+ 'start_lts' => request()->get('start_lts') === null ? '0000-01-01' : request()->get('start_lts'),
+ 'end_lts' => request()->get('end_lts') === null ? '0000-01-01' : request()->get('end_lts')
+ ]);
+
+ return redirect()->route('admin.milestones')->with('status', 'The changes to '.$horizon_milestone->product_name.' version '.$horizon_milestone->version.' have been saved.');
+ }
+
+ /**
+ * Remove the specified resource from storage.
+ *
+ * @param int $id
+ * @return \Illuminate\Http\Response
+ */
+ public function destroy(HorizonMilestone $horizon_milestone) {
+ $this->authorize('delete_milestone');
+
+ $horizon_milestone->delete();
+
+ return redirect()->route('admin.milestones')->with('status', 'Milestone '.$horizon_milestone->product_name.' version '.$horizon_milestone->version.' has been removed.');
+ }
+}
diff --git a/app/Http/Controllers/admin/RoleController.php b/app/Http/Controllers/admin/RoleController.php
new file mode 100644
index 0000000..d42377b
--- /dev/null
+++ b/app/Http/Controllers/admin/RoleController.php
@@ -0,0 +1,128 @@
+authorize('show_roles');
+
+ $roles = Role::get();
+
+ return view('core.roles.index', compact('roles'));
+ }
+
+ /**
+ * Store a newly created resource in storage.
+ *
+ * @param \Illuminate\Http\Request $request
+ * @return \Illuminate\Http\Response
+ */
+ public function toggle(Role $role, Ability $ability) {
+ $this->authorize('assign_ability');
+
+ if ($role->abilities->contains($ability)) {
+ $role->abilities()->detach($ability);
+ } else {
+ $role->allowTo($ability);
+ }
+
+ return redirect()->route('admin.roles.edit', $role)->with('status', 'The role '.$role->name.' now has the '.$ability->name.'-permission.');
+ }
+
+ /**
+ * Store a newly created resource in storage.
+ *
+ * @param \Illuminate\Http\Request $request
+ * @return \Illuminate\Http\Response
+ */
+ public function store(Request $request) {
+ $this->authorize('create_role');
+
+ $this->validate(request(), [
+ 'name' => ['required'],
+ 'description' => ['required']
+ ]);
+
+ $role = Role::create([
+ 'name' => request('name'),
+ 'description' => request('description')
+ ]);
+
+ return redirect()->route('admin.roles.edit', $role)->with('status', 'The role '.$role->name.' has been created.');
+ }
+
+ /**
+ * Show the form for editing the specified resource.
+ *
+ * @param \App\Role $role
+ * @return \Illuminate\Http\Response
+ */
+ public function edit(Role $role) {
+ $this->authorize('show_roles');
+
+ $abilities = Ability::get();
+
+ return view('core.roles.edit', compact('role', 'abilities'));
+ }
+
+ /**
+ * Update the specified resource in storage.
+ *
+ * @param \Illuminate\Http\Request $request
+ * @param \App\Role $role
+ * @return \Illuminate\Http\Response
+ */
+ public function update(Request $request, Role $role) {
+ $this->authorize('edit_role');
+
+ $this->validate(request(), [
+ 'name' => ['required'],
+ 'description' => ['required']
+ ]);
+
+ $role->update([
+ 'name' => request('name'),
+ 'description' => request('description')
+ ]);
+
+ return redirect()->route('admin.roles')->with('status', 'The changes for '.$role->name.' have been stored.');
+ }
+
+ /**
+ * Remove the specified resource from storage.
+ *
+ * @param \App\Role $role
+ * @return \Illuminate\Http\Response
+ */
+ public function destroy(Role $role) {
+ $this->authorize('delete_role');
+
+ $role->delete();
+
+ return redirect()->route('admin.roles')->with('status', 'The role '.$role->title.' has been removed.');
+ }
+
+ public function default(Role $role) {
+ $this->authorize('edit_role');
+
+ $default_roles = Role::where('is_default', 1)->get();
+
+ foreach ($default_roles as $default_role) {
+ $default_role->update(['is_default' => 0]);
+ }
+
+ $role->update(['is_default' => 1]);
+
+ return redirect()->route('admin.roles')->with('status', ''.$role->name.' is now the default role for new users.');
+ }
+}
diff --git a/app/Http/Controllers/admin/SearchController.php b/app/Http/Controllers/admin/SearchController.php
new file mode 100644
index 0000000..1abe1a7
--- /dev/null
+++ b/app/Http/Controllers/admin/SearchController.php
@@ -0,0 +1,32 @@
+registerModel(User::class, 'name')
+ ->registerModel(Release::class, 'build', 'delta')
+ ->registerModel(Log::class, 'changelog')
+ ->registerModel(Milestone::class, 'version')
+ ->registerModel(Platform::class, 'name')
+ ->registerModel(Channel::class, 'name')
+ ->perform($request->input('search'));
+
+ return view('core.search.results', compact('search_results'));
+ }
+}
diff --git a/app/Http/Controllers/admin/SettingsController.php b/app/Http/Controllers/admin/SettingsController.php
new file mode 100644
index 0000000..fd1bc32
--- /dev/null
+++ b/app/Http/Controllers/admin/SettingsController.php
@@ -0,0 +1,27 @@
+authorize('view_settings');
+
+ return view('core.settings.index');
+ }
+
+ public function update() {
+ $this->authorize('edit_settings');
+
+ Setting::where('name', 'name')->update(['value' => request('name')]);
+ Setting::where('name', 'short_name')->update(['value' => request('short_name')]);
+ Setting::where('name', 'slogan')->update(['value' => request('slogan')]);
+
+ return redirect()->route('admin.settings')->with('status', 'All changes have been saved.');
+ }
+}
diff --git a/app/Http/Middleware/RedirectIfAuthenticated.php b/app/Http/Middleware/RedirectIfAuthenticated.php
index e27860e..3efc976 100644
--- a/app/Http/Middleware/RedirectIfAuthenticated.php
+++ b/app/Http/Middleware/RedirectIfAuthenticated.php
@@ -18,7 +18,7 @@ class RedirectIfAuthenticated
public function handle($request, Closure $next, $guard = null)
{
if (Auth::guard($guard)->check()) {
- return redirect('/');
+ return redirect(RouteServiceProvider::HOME);
}
return $next($request);
diff --git a/app/Log.php b/app/Log.php
index 29c0e11..2b23b23 100644
--- a/app/Log.php
+++ b/app/Log.php
@@ -3,8 +3,10 @@
namespace App;
use Illuminate\Database\Eloquent\Model;
+use Spatie\Searchable\Searchable;
+use Spatie\Searchable\SearchResult;
-class Log extends Model
+class Log extends Model implements Searchable
{
protected $table = 'logs';
@@ -12,6 +14,16 @@ class Log extends Model
protected $fillable = array('milestone_id', 'platform', 'changelog');
+ public function getSearchResult(): SearchResult {
+ $url = route('admin.changelogs.edit', $this);
+
+ return new SearchResult(
+ $this,
+ $this->changelog,
+ $url
+ );
+ }
+
public function milestone() {
return $this->hasOne('App\Milestone', 'id', 'milestone_id');
}
diff --git a/app/Milestone.php b/app/Milestone.php
index 81fda3b..e5bf280 100644
--- a/app/Milestone.php
+++ b/app/Milestone.php
@@ -4,15 +4,39 @@
use Illuminate\Database\Eloquent\Model;
use Carbon\Carbon;
+use Spatie\Searchable\Searchable;
+use Spatie\Searchable\SearchResult;
-class Milestone extends Model
+class Milestone extends Model implements Searchable
{
protected $table = 'milestones';
public $incrementing = false;
protected $dates = ['created_at', 'updated_at', 'preview', 'public', 'mainEol', 'mainXol', 'ltsEol'];
- protected $fillable = ['id', 'osname', 'name', 'codename', 'version', 'color', 'preview', 'public', 'mainEol', 'mainXol', 'ltsEol', 'isLts', 'pcFast', 'pcSlow', 'pcReleasePreview', 'pcTargeted', 'pcBroad', 'pcLTS', 'xboxSkip', 'xboxFast', 'xboxSlow', 'xboxPreview', 'xboxReleasePreview', 'xboxTargeted', 'serverSlow', 'serverTargeted', 'serverLTS', 'iotSlow', 'iotTargeted', 'iotBroad', 'teamTargeted', 'teamBroad', 'holographicFast', 'holographicSlow', 'holographicTargeted', 'holographicBroad', 'holographicLTS', 'tenXSlow', 'sdk', 'iso'];
+ protected $fillable = ['id', 'osname', 'name', 'codename', 'version', 'color', 'start_build', 'preview', 'public', 'mainEol', 'mainXol', 'ltsEol'];
+
+ public function releases() {
+ return $this->hasMany(Release::class, 'milestone');
+ }
+
+ public function milestonePlatforms() {
+ return $this->hasMany(MilestonePlatform::class);
+ }
+
+ public function getBgColorAttribute() {
+ return 'background-color: #'.$this->color;
+ }
+
+ public function getSearchResult(): SearchResult {
+ $url = route('admin.milestones.edit', $this);
+
+ return new SearchResult(
+ $this,
+ $this->version,
+ $url
+ );
+ }
public function getSupport() {
$now = Carbon::now();
@@ -80,99 +104,4 @@ public function getSupport() {
return false;
}
}
-
- public function getFlights() {
- return array(
- 'pc' => array(
- 'skip' => -1,
- 'fast' => $this->pcFast,
- 'slow' => $this->pcSlow,
- 'preview' => -1,
- 'release' => $this->pcReleasePreview,
- 'targeted' => $this->pcTargeted,
- 'broad' => $this->pcBroad,
- 'ltsc' => $this->pcLTS
- ),
- 'xbox' => array(
- 'skip' => $this->xboxSkip,
- 'fast' => $this->xboxFast,
- 'slow' => $this->xboxSlow,
- 'preview' => $this->xboxPreview,
- 'release' => $this->xboxReleasePreview,
- 'targeted' => $this->xboxTargeted,
- 'broad' => -1,
- 'ltsc' => -1
- ),
- 'server' => array(
- 'skip' => -1,
- 'fast' => -1,
- 'slow' => $this->serverSlow,
- 'preview' => -1,
- 'release' => -1,
- 'targeted' => $this->serverTargeted,
- 'broad' => -1,
- 'ltsc' => $this->serverLTS
- ),
- 'tenx' => array(
- 'skip' => -1,
- 'fast' => -1,
- 'slow' => $this->tenXSlow,
- 'preview' => -1,
- 'release' => -1,
- 'targeted' => -1,
- 'broad' => -1,
- 'ltsc' => -1
- ),
- 'holographic' => array(
- 'skip' => -1,
- 'fast' => $this->holographicFast,
- 'slow' => $this->holographicSlow,
- 'preview' => -1,
- 'release' => -1,
- 'targeted' => $this->holographicTargeted,
- 'broad' => $this->holographicBroad,
- 'ltsc' => $this->holographicLTS
- ),
- 'iot' => array(
- 'skip' => -1,
- 'fast' => -1,
- 'slow' => $this->iotSlow,
- 'preview' => -1,
- 'release' => -1,
- 'targeted' => $this->iotTargeted,
- 'broad' => $this->iotBroad,
- 'ltsc' => -1
- ),
- 'team' => array(
- 'skip' => -1,
- 'fast' => $this->teamFast,
- 'slow' => $this->teamSlow,
- 'preview' => -1,
- 'release' => -1,
- 'targeted' => $this->teamTargeted,
- 'broad' => $this->teamBroad,
- 'ltsc' => -1
- ),
- 'sdk' => array(
- 'skip' => -1,
- 'fast' => -1,
- 'slow' => -1,
- 'preview' => -1,
- 'release' => -1,
- 'targeted' => $this->sdk,
- 'broad' => -1,
- 'ltsc' => -1
- ),
- 'iso' => array(
- 'skip' => -1,
- 'fast' => -1,
- 'slow' => -1,
- 'preview' => -1,
- 'release' => -1,
- 'targeted' => $this->iso,
- 'broad' => -1,
- 'ltsc' => -1
- )
- );
- }
}
diff --git a/app/MilestonePlatform.php b/app/MilestonePlatform.php
new file mode 100644
index 0000000..7507e18
--- /dev/null
+++ b/app/MilestonePlatform.php
@@ -0,0 +1,25 @@
+belongsTo(Milestone::class);
+ }
+
+ public function platform() {
+ return $this->belongsTo(Platform::class);
+ }
+
+ public function channelMilestonePlatforms() {
+ return $this->hasMany(ChannelMilestonePlatform::class);
+ }
+}
diff --git a/app/Model/HorizonAbility.php b/app/Model/HorizonAbility.php
new file mode 100644
index 0000000..b9d3afb
--- /dev/null
+++ b/app/Model/HorizonAbility.php
@@ -0,0 +1,20 @@
+belongsToMany(HorizonRole::class, 'h_role_abilities', 'ability_id', 'role_id');
+ }
+}
diff --git a/app/Model/HorizonChangelog.php b/app/Model/HorizonChangelog.php
new file mode 100644
index 0000000..8ebcf62
--- /dev/null
+++ b/app/Model/HorizonChangelog.php
@@ -0,0 +1,35 @@
+belongsTo(MilestonePlatform::class, 'milestone_platform_id');
+ }
+
+ // System
+ public function getSearchResult(): SearchResult {
+ $url = route('admin.changelogs.edit', $this);
+
+ return new SearchResult(
+ $this,
+ $this->changelog,
+ $url
+ );
+ }
+}
diff --git a/app/Model/HorizonChannel.php b/app/Model/HorizonChannel.php
new file mode 100644
index 0000000..dfc13ac
--- /dev/null
+++ b/app/Model/HorizonChannel.php
@@ -0,0 +1,65 @@
+belongsToMany(HorizonChannel::class, 'h_platform_channels', 'channel_id', 'platform_id')
+ ->using(HorizonPlatformChannel::class)
+ ->as('platforms')
+ ->withPivot('name', 'short_name', 'active')
+ ->withTimestamps();
+ }
+
+ public function flights() {
+ return $this->hasMany(HorizonFlights::class);
+ }
+
+ // Additional attributes
+ public function getBgColorAttribute() {
+ return 'background-color: '.$this->color;
+ }
+
+ public function getTextColorAttribute() {
+ return 'color: '.$this->color;
+ }
+
+ // System
+ public function getRouteKeyName() {
+ return 'slug';
+ }
+
+ public function sluggable() {
+ return [
+ 'slug' => [
+ 'source' => 'name'
+ ]
+ ];
+ }
+
+ public function getSearchResult(): SearchResult {
+ $url = route('admin.channels.edit', $this);
+
+ return new SearchResult(
+ $this,
+ $this->name,
+ $url
+ );
+ }
+}
\ No newline at end of file
diff --git a/app/Model/HorizonFlight.php b/app/Model/HorizonFlight.php
new file mode 100644
index 0000000..12ca5a1
--- /dev/null
+++ b/app/Model/HorizonFlight.php
@@ -0,0 +1,81 @@
+belongsTo(HorizonChannel::class, 'h_channels', 'channel_id');
+ }
+
+ public function milestone() {
+ return $this->belongsTo(HorizonMilestone::class, 'h_milestones', 'milestone_id');
+ }
+
+ public function platform() {
+ return $this->belongsTo(HorizonPlatform::class, 'h_platforms', 'platform_id');
+ }
+
+ public function user() {
+ return $this->belongsTo(HorizonUser::class, 'h_users', 'user_id');
+ }
+
+ // Additional attributes
+ public function getFormatAttribute() {
+ return $this->date->format('d M Y');
+ }
+
+ // System
+ public function getRouteKeyName() {
+ return 'slug';
+ }
+
+ public function sluggable() {
+ return [
+ 'slug' => [
+ 'source' => 'codename'
+ ]
+ ];
+ }
+
+ public function getSearchResult(): SearchResult {
+ $url = route('admin.flights.edit', $this);
+
+ return new SearchResult(
+ $this,
+ $this->build.'.'.$this->delta,
+ $url
+ );
+ }
+
+ public function toFeedItem(): FeedItem {
+ return FeedItem::create([
+ 'id' => $this->build,
+ 'title' => $this->build.'.'.$this->delta.' for '.$this->platform->name.' in '.$this->channel->name,
+ 'summary' => $this->major.'.'.$this->minor.'.'.$this->build.'.'.$this->delta.' for '.$this->platform->name.' has been released for '.$this->ring->channel,
+ 'updated' => $this->date,
+ 'link' => 'https://changewindows.org/build/'.$this->build.'/'.$this->platform->slug,
+ 'author' => 'ChangeWindows'
+ ]);
+ }
+
+ public static function getFeedItems() {
+ return Flight::orderBy('date', 'desc')->limit(100)->get();
+ }
+}
diff --git a/app/Model/HorizonMilestone.php b/app/Model/HorizonMilestone.php
new file mode 100644
index 0000000..a2d93b3
--- /dev/null
+++ b/app/Model/HorizonMilestone.php
@@ -0,0 +1,136 @@
+belongsToMany(HorizonPlatform::class, 'h_milestone_platforms', 'platform_id', 'milestone_id')
+ ->using(HorizonPlatformChannel::class)
+ ->as('platforms')
+ ->withTimestamps();
+ }
+
+ public function milestonePlatforms() {
+ return $this->hasMany(HorizonMilestonePlatform::class, 'milestone_id');
+ }
+
+ public function flights() {
+ return $this->hasMany(HorizonFlights::class);
+ }
+
+ // Additional attributes
+ public function getBgColorAttribute() {
+ return 'background-color: #'.$this->color;
+ }
+
+ public function getTextColorAttribute() {
+ return 'color: #'.$this->color;
+ }
+
+ public function getSupportAttribute() {
+ $now = Carbon::now();
+
+ $preview_period = $this->start_public->timestamp > 0 ? $this->preview->diffInDays($this->start_public) : 0;
+ $public_period = $this->start_extended->timestamp > 0 ? $this->start_public->diffInDays($this->start_extended) : 0;
+ $extended_period = $this->start_lts->timestamp > 0 ? $this->start_extended->diffInDays($this->start_lts) : 0;
+ $lts_period = $this->end_lts->timestamp > 0 ? $this->start_lts->diffInDays($this->end_lts) : 0;
+
+ $total = ($preview_period + $public_period + $extended_period + $lts_period) / 100;
+
+ if ($total !== 0) {
+ if ($this->preview->lessThanOrEqualTo($now) && $this->start_public->greaterThan($now)) {
+ $preview_done = $this->preview->diffInDays($this->now);
+ $preview_go = $preview_period - $preview_done;
+
+ $public_done = $extended_done = $lts_done = 0;
+ $public_go = $public_period;
+ $extended_go = $extended_period;
+ $lts_go = $lts_period;
+ } else if ($this->start_public->lessThanOrEqualTo($now) && $this->start_extended->greaterThanOrEqualTo($now)) {
+ // We flip this to "greaterThanOrEqualTo" instead of "greaterThan" because these dates indicate the last day of support
+ $public_done = $this->start_public->diffInDays($this->now);
+ $public_go = $public_period - $public_done;
+
+ $preview_go = $extended_done = $lts_done = 0;
+ $preview_done = $preview_period;
+ $extended_go = $extended_period;
+ $lts_go = $lts_period;
+ } else if ($this->start_extended->lessThan($now) && $this->start_lts->greaterThanOrEqualTo($now)) {
+ $extended_done = $this->start_extended->diffInDays($this->now);
+ $extended_go = $extended_period - $extended_done;
+
+ $preview_go = $public_go = $lts_done = 0;
+ $preview_done = $preview_period;
+ $public_done = $public_period;
+ $lts_go = $lts_period;
+ } else if ($this->start_lts->lessThan($now) && $this->end_lts->greaterThanOrEqualTo($now)) {
+ $lts_done = $this->start_lts->diffInDays($this->now);
+ $lts_go = $lts_period - $lts_done;
+
+ $preview_go = $public_go = $extended_go = 0;
+ $preview_done = $preview_period;
+ $public_done = $public_period;
+ $extended_done = $extended_period;
+ } else {
+ $preview_go = $public_go = $extended_go = $lts_go = 0;
+ $preview_done = $preview_period;
+ $public_done = $public_period;
+ $extended_done = $extended_period;
+ $lts_done = $lts_period;
+ }
+
+ return array(
+ 'preview_done' => $preview_done / $total,
+ 'preview_go' => $preview_go / $total,
+ 'public_done' => $public_done / $total,
+ 'public_go' => $public_go / $total,
+ 'extended_done' => $extended_done / $total,
+ 'extended_go' => $extended_go / $total,
+ 'lts_done' => $lts_done / $total,
+ 'lts_go' => $lts_go / $total
+ );
+ } else {
+ return false;
+ }
+ }
+
+ // System
+ public function getRouteKeyName() {
+ return 'slug';
+ }
+
+ public function sluggable() {
+ return [
+ 'slug' => [
+ 'source' => 'codename'
+ ]
+ ];
+ }
+
+ public function getSearchResult(): SearchResult {
+ $url = route('admin.milestones.edit', $this);
+
+ return new SearchResult(
+ $this,
+ $this->name,
+ $url
+ );
+ }
+}
diff --git a/app/Model/HorizonMilestonePlatform.php b/app/Model/HorizonMilestonePlatform.php
new file mode 100644
index 0000000..c80ff91
--- /dev/null
+++ b/app/Model/HorizonMilestonePlatform.php
@@ -0,0 +1,31 @@
+hasOne(HorizonChangelog::class, 'milestone_platform_id');
+ }
+
+ public function milestone() {
+ return $this->belongsTo(HorizonMilestone::class);
+ }
+
+ public function platform() {
+ return $this->belongsTo(HorizonPlatform::class);
+ }
+
+ public function mpcs() {
+ return $this->hasMany(HorizonMilestonePlatformChannel::class, 'milestone_platform_id');
+ }
+}
diff --git a/app/Model/HorizonMilestonePlatformChannel.php b/app/Model/HorizonMilestonePlatformChannel.php
new file mode 100644
index 0000000..44dc88a
--- /dev/null
+++ b/app/Model/HorizonMilestonePlatformChannel.php
@@ -0,0 +1,22 @@
+belongsTo(HorizonMilestonePlatform::class, 'id', 'milestone_platform_id');
+ }
+
+ public function platformChannel() {
+ return $this->belongsTo(HorizonPlatformChannel::class, 'platform_channel_id', 'id');
+ }
+}
diff --git a/app/Model/HorizonPlatform.php b/app/Model/HorizonPlatform.php
new file mode 100644
index 0000000..157e7ef
--- /dev/null
+++ b/app/Model/HorizonPlatform.php
@@ -0,0 +1,75 @@
+belongsToMany(HorizonChannel::class, 'h_platform_channels', 'platform_id', 'channel_id')
+ ->using(HorizonPlatformChannel::class)
+ ->withPivot('name', 'short_name', 'active')
+ ->withTimestamps();
+ }
+
+ public function milestones() {
+ return $this->belongsToMany(HorizonChannel::class, 'h_milestone_platforms', 'platform_id', 'platform_id')
+ ->using(HorizonPlatformChannel::class)
+ ->withTimestamps();
+ }
+
+ public function flights() {
+ return $this->hasMany(HorizonFlights::class);
+ }
+
+ // Additional attributes
+ public function getPlainIconAttribute() {
+ return '';
+ }
+
+ public function getColoredIconAttribute() {
+ return '';
+ }
+
+ public function getBgColorAttribute() {
+ return 'background-color: '.$this->color;
+ }
+
+ // System
+ public function getRouteKeyName() {
+ return 'slug';
+ }
+
+ public function sluggable() {
+ return [
+ 'slug' => [
+ 'source' => 'name'
+ ]
+ ];
+ }
+
+ public function getSearchResult(): SearchResult {
+ $url = route('admin.platforms.edit', $this);
+
+ return new SearchResult(
+ $this,
+ $this->name,
+ $url
+ );
+ }
+}
diff --git a/app/Model/HorizonPlatformChannel.php b/app/Model/HorizonPlatformChannel.php
new file mode 100644
index 0000000..e0c5cfe
--- /dev/null
+++ b/app/Model/HorizonPlatformChannel.php
@@ -0,0 +1,22 @@
+belongsTo(HorizonChannel::class);
+ }
+
+ public function platform() {
+ return $this->belongsTo(HorizonPlatform::class);
+ }
+}
diff --git a/app/Model/HorizonRole.php b/app/Model/HorizonRole.php
new file mode 100644
index 0000000..8079fbb
--- /dev/null
+++ b/app/Model/HorizonRole.php
@@ -0,0 +1,28 @@
+hasMany(HorizonUser::class);
+ }
+
+ public function abilities() {
+ return $this->belongsToMany(HorizonAbility::class, 'h_role_abilities', 'role_id', 'ability_id');
+ }
+
+ // Functions
+ public function allowTo(Ability $ability) {
+ $this->abilities()->sync($ability, false);
+ }
+}
diff --git a/app/Model/HorizonUser.php b/app/Model/HorizonUser.php
new file mode 100644
index 0000000..bdc8d47
--- /dev/null
+++ b/app/Model/HorizonUser.php
@@ -0,0 +1,87 @@
+belongsTo(HorizonRole::class, 'role_id');
+ }
+
+ public function flights() {
+ return $this->hasMany(HorizonFlights::class);
+ }
+
+ public function abilities() {
+ return $this->role->abilities->flatten()->pluck('name')->unique();
+ }
+
+ public function getJWTIdentifier() {
+ return $this->getKey();
+ }
+
+ public function getJWTCustomClaims() {
+ return [];
+ }
+
+ // Additional attributes
+ public function setPasswordAttribute($value) {
+ if (Hash::needsRehash($value)) {
+ return $this->attributes['password'] = bcrypt($value);
+ } else {
+ return $this->attributes['password'] = $value;
+ }
+ }
+
+ public function getAvatarAttribute() {
+ if ($this->avatar_path) {
+ return asset($this->avatar_path);
+ } else {
+ return asset('img/models/user.png');
+ }
+ }
+
+ // System
+ public function getRouteKeyName() {
+ return 'slug';
+ }
+
+ public function sluggable() {
+ return [
+ 'slug' => [
+ 'source' => 'name'
+ ]
+ ];
+ }
+
+ public function getSearchResult(): SearchResult {
+ $url = route('admin.accounts.edit', $this);
+
+ return new SearchResult(
+ $this,
+ $this->name,
+ $url
+ );
+ }
+}
diff --git a/app/Platform.php b/app/Platform.php
new file mode 100644
index 0000000..d72c320
--- /dev/null
+++ b/app/Platform.php
@@ -0,0 +1,58 @@
+hasMany(ChannelPlatform::class);
+ }
+
+ public function getPlainIconAttribute() {
+ return '';
+ }
+
+ public function getColoredIconAttribute() {
+ return '';
+ }
+
+ public function getBgColorAttribute() {
+ return 'background-color: '.$this->color;
+ }
+
+ public function getRouteKeyName() {
+ return 'slug';
+ }
+
+ public function sluggable() {
+ return [
+ 'slug' => [
+ 'source' => 'name'
+ ]
+ ];
+ }
+
+ public function getSearchResult(): SearchResult {
+ $url = route('admin.platforms.edit', $this);
+
+ return new SearchResult(
+ $this,
+ $this->name,
+ $url
+ );
+ }
+}
diff --git a/app/Providers/AuthServiceProvider.php b/app/Providers/AuthServiceProvider.php
index 9784b1a..75539b1 100644
--- a/app/Providers/AuthServiceProvider.php
+++ b/app/Providers/AuthServiceProvider.php
@@ -25,6 +25,8 @@ public function boot()
{
$this->registerPolicies();
- //
+ Gate::before(function ($user, $ability) {
+ return $user->abilities()->contains($ability);
+ });
}
}
diff --git a/app/Providers/HelperServiceProvider.php b/app/Providers/HelperServiceProvider.php
index 61bd38f..2049f0b 100644
--- a/app/Providers/HelperServiceProvider.php
+++ b/app/Providers/HelperServiceProvider.php
@@ -22,6 +22,7 @@ public function boot()
*/
public function register()
{
+ require_once app_path('Helpers/GlobalHelper.php');
require_once app_path('Helpers/PlatformHelper.php');
require_once app_path('Helpers/PatronHelper.php');
require_once app_path('Helpers/RingHelper.php');
diff --git a/app/Release.php b/app/Release.php
index 3709d9f..25b1e31 100644
--- a/app/Release.php
+++ b/app/Release.php
@@ -5,10 +5,12 @@
use Illuminate\Database\Eloquent\Model;
use Spatie\Feed\Feedable;
use Spatie\Feed\FeedItem;
+use Spatie\Searchable\Searchable;
+use Spatie\Searchable\SearchResult;
use Carbon\Carbon;
use App\Milestone;
-class Release extends Model implements Feedable
+class Release extends Model implements Feedable, Searchable
{
protected $table = 'releases';
@@ -36,8 +38,15 @@ public function ms() {
return $this->belongsTo('App\Milestone', 'milestone');
}
- public function getFormatAttribute() {
- return $this->date->format('d M Y');
+
+ public function getSearchResult(): SearchResult {
+ $url = route('admin.flights.edit', $this);
+
+ return new SearchResult(
+ $this,
+ $this->build.'.'.$this->delta,
+ $url
+ );
}
public function getFlightAttribute() {
@@ -149,85 +158,9 @@ static function splitString( $build_string ) {
static function getMilestoneByString($string) {
$delta = $string['delta'];
$build = $string['build'];
- $major = $string['major'];
-
- // DO NOT HARDCODE DO NOT HARDCODE DO NOT HARDCODE
- if ( $build < 10250 )
- return 'threshold1';
- else if ( $build < 10600 )
- return 'threshold2';
- else if ( $build < 14400 )
- return 'redstone1';
- else if ( $build < 16000 )
- return 'redstone2';
- else if ( $build < 16300 )
- return 'redstone3';
- else if ( $build < 17200 )
- return 'redstone4';
- else if ( $build < 17900 )
- return 'redstone5';
- else if ( $build < 18363 ) {
- if ( $delta < 7000 )
- return '19h1';
- else
- return '19h2';
- }
- else if ( $build < 18501 )
- return '19h2';
- else if ( $build < 19100 )
- return '20h1';
- else if ( $build < 19043 )
- return '20h2';
- else if ( $build < 20400 )
- return '21h1';
- else
- return '21h1';
-
- // Damn it.
- // In all fairness, this needs a bottom and top range for which build should be in which milestone
- // additionally, the create build form should have an override for the early skip ahead builds
- }
- // Release scopes
- public function scopePc($query) { return $query->where('platform', '1'); }
- public function scopeMobile($query) { return $query->where('platform', '2'); }
- public function scopeXbox($query) { return $query->where('platform', '3'); }
- public function scopeServer($query) { return $query->where('platform', '4'); }
- public function scopeHolographic($query) { return $query->where('platform', '5'); }
- public function scopeIot($query) { return $query->where('platform', '6'); }
- public function scopeTeam($query) { return $query->where('platform', '7'); }
- public function scopeIso($query) { return $query->where('platform', '8'); }
- public function scopeSdk($query) { return $query->where('platform', '9'); }
- public function scopeTenX($query) { return $query->where('platform', '10'); }
-
- public function scopeLeak($query) { return $query->where('ring', '0'); }
- public function scopeSkip($query) { return $query->where('ring', '1'); }
- public function scopeActive($query) { return $query->where('ring', '2'); }
- public function scopeSlow($query) { return $query->where('ring', '3'); }
- public function scopePreview($query) { return $query->where('ring', '4'); }
- public function scopeRelease($query) { return $query->where('ring', '5'); }
- public function scopeTargeted($query) { return $query->where('ring', '6'); }
- public function scopeBroad($query) { return $query->where('ring', '7'); }
- public function scopeLtsc($query) { return $query->where('ring', '8'); }
-
- public function scopeLatestFlight($query) { return $query->orderBy('build', 'desc')->orderBy('delta', 'desc')->orderBy('date', 'desc'); }
- public function scopeAllRings($query) { return $query->groupBy('ring')->get()->keyBy('ring'); }
-
- public function scopePlatformRings($query, $platform) {
- switch ($platform) {
- case 1: $rings = array(1, 2, 3, 5, 6, 7, 8); break;
- case 2: $rings = array(6, 7); break;
- case 3: $rings = array(1, 2, 3, 4, 5, 6); break;
- case 4: $rings = array(3, 6, 8); break;
- case 5: $rings = array(2, 3, 6, 7, 8); break;
- case 6: $rings = array(3, 6, 7); break;
- case 7: $rings = array(6, 7); break;
- case 8: $rings = array(6); break;
- case 9: $rings = array(6); break;
- case 10: $rings = array(3); break;
- default: return;
- }
-
- return $query->where('platform', $platform)->whereIn('ring', $rings);
+ $milestone = Milestone::where('start_build', '<=', $build)->orderBy('start_build', 'desc')->first();
+
+ return $milestone->id;
}
}
diff --git a/app/Role.php b/app/Role.php
index e13f183..5b32182 100644
--- a/app/Role.php
+++ b/app/Role.php
@@ -4,9 +4,19 @@
use Illuminate\Database\Eloquent\Model;
-class Role extends Model
-{
+class Role extends Model {
+ protected $table = 'roles';
+ protected $fillable = ['name', 'description', 'is_default'];
+
public function users() {
- return $this->belongsToMany(User::class);
+ return $this->hasMany(User::class);
+ }
+
+ public function abilities() {
+ return $this->belongsToMany(Ability::class);
+ }
+
+ public function allowTo(Ability $ability) {
+ $this->abilities()->sync($ability, false);
}
}
diff --git a/app/User.php b/app/User.php
index 4ca33d9..cc12795 100644
--- a/app/User.php
+++ b/app/User.php
@@ -5,35 +5,56 @@
use Illuminate\Notifications\Notifiable;
use Illuminate\Contracts\Auth\MustVerifyEmail;
use Illuminate\Foundation\Auth\User as Authenticatable;
+use Tymon\JWTAuth\Contracts\JWTSubject;
+use Spatie\Searchable\Searchable;
+use Spatie\Searchable\SearchResult;
-class User extends Authenticatable
+class User extends Authenticatable implements JWTSubject, Searchable
{
use Notifiable;
- protected $fillable = [ 'name', 'email', 'password', 'theme' ];
- protected $hidden = [ 'password', 'remember_token', ];
+ protected $fillable = ['name', 'email', 'password', 'theme', 'role_id', 'onboarding', 'avatar_path'];
+ protected $hidden = ['password', 'remember_token'];
- public function roles() {
- return $this->belongsToMany(Role::class);
+ public function role() {
+ return $this->belongsTo(Role::class);
}
- public function authorizeRoles($roles) {
- if (is_array($roles)) {
- return $this->hasAnyRole($roles) || abort(401, 'This action is unauthorized.');
- }
+ public function abilities() {
+ return $this->role->abilities->flatten()->pluck('name')->unique();
+ }
+
+ public function getJWTIdentifier() {
+ return $this->getKey();
+ }
- return $this->hasRole($roles) || abort(401, 'This action is unauthorized.');
+ public function getJWTCustomClaims() {
+ return [];
}
- public function hasAnyRole($roles) {
- return null !== $this->roles()->whereIn('name', $roles)->first();
+ public function setPasswordAttribute($value) {
+ if (Hash::needsRehash($value)) {
+ return $this->attributes['password'] = bcrypt($value);
+ } else {
+ return $this->attributes['password'] = $value;
+ }
}
- public function hasRole($role) {
- return null !== $this->roles()->where('name', $role)->first();
+ public function getAvatarAttribute() {
+ if ($this->avatar_path) {
+ return asset($this->avatar_path);
+ } else {
+ return asset('img/models/user.png');
+ }
}
- public function getRoles() {
- return $this->roles()->firstOrFail();
+ public function getSearchResult(): SearchResult {
+ $url = route('admin.accounts.edit', $this);
+
+ return new SearchResult(
+ $this,
+ $this->name,
+ $url
+ );
}
}
diff --git a/composer.json b/composer.json
index c6128e8..e82a609 100644
--- a/composer.json
+++ b/composer.json
@@ -6,19 +6,23 @@
"type": "project",
"require": {
"php": "^7.2.0",
+ "barryvdh/laravel-cors": "^2.0",
+ "blade-ui-kit/blade-ui-kit": "^0.2",
+ "cviebrock/eloquent-sluggable": "^8.0",
"erusev/parsedown": "^1.7",
- "facade/ignition": "^2.3.6",
"fideloper/proxy": "^4.0",
"guzzlehttp/guzzle": "^7.0.1",
"laravel/framework": "^8.0",
"laravel/tinker": "^2.0",
"laravel/ui": "^3.0",
"spatie/laravel-feed": "^3.0",
- "thujohn/twitter": "^2.2"
+ "spatie/laravel-searchable": "^1.7",
+ "thujohn/twitter": "^2.2",
+ "tymon/jwt-auth": "^1.0"
},
"require-dev": {
+ "facade/ignition": "^2.3.6",
"filp/whoops": "^2.0",
- "fzaninotto/faker": "^1.4",
"mockery/mockery": "^1.0",
"nunomaduro/collision": "^5.0",
"phpunit/phpunit": "^9.0"
diff --git a/composer.lock b/composer.lock
index e794e37..285c67d 100644
--- a/composer.lock
+++ b/composer.lock
@@ -4,8 +4,60 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically"
],
- "content-hash": "df602a53835de9bbdfe9a95da0807042",
+ "content-hash": "83771d49ff2c90a3ddc68c7493aad6ae",
"packages": [
+ {
+ "name": "asm89/stack-cors",
+ "version": "v2.0.2",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/asm89/stack-cors.git",
+ "reference": "8d8f88b3b3830916be94292c1fbce84433efb1aa"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/asm89/stack-cors/zipball/8d8f88b3b3830916be94292c1fbce84433efb1aa",
+ "reference": "8d8f88b3b3830916be94292c1fbce84433efb1aa",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^7.0|^8.0",
+ "symfony/http-foundation": "~2.7|~3.0|~4.0|~5.0",
+ "symfony/http-kernel": "~2.7|~3.0|~4.0|~5.0"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^6|^7|^8|^9",
+ "squizlabs/php_codesniffer": "^3.5"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "2.0-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Asm89\\Stack\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Alexander",
+ "email": "iam.asm89@gmail.com"
+ }
+ ],
+ "description": "Cross-origin resource sharing library and stack middleware",
+ "homepage": "https://github.com/asm89/stack-cors",
+ "keywords": [
+ "cors",
+ "stack"
+ ],
+ "time": "2020-10-29T16:03:21+00:00"
+ },
{
"name": "atymic/tmhoauth",
"version": "0.8.6",
@@ -53,6 +105,153 @@
],
"time": "2020-06-21T00:50:34+00:00"
},
+ {
+ "name": "barryvdh/laravel-cors",
+ "version": "v2.0.3",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/fruitcake/laravel-cors.git",
+ "reference": "01de0fe5f71c70d1930ee9a80385f9cc28e0f63a"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/fruitcake/laravel-cors/zipball/01de0fe5f71c70d1930ee9a80385f9cc28e0f63a",
+ "reference": "01de0fe5f71c70d1930ee9a80385f9cc28e0f63a",
+ "shasum": ""
+ },
+ "require": {
+ "asm89/stack-cors": "^2.0.1",
+ "illuminate/contracts": "^6|^7|^8|^9",
+ "illuminate/support": "^6|^7|^8|^9",
+ "php": ">=7.2",
+ "symfony/http-foundation": "^4|^5",
+ "symfony/http-kernel": "^4.3.4|^5"
+ },
+ "require-dev": {
+ "laravel/framework": "^6|^7|^8",
+ "orchestra/testbench-dusk": "^4|^5|^6",
+ "phpunit/phpunit": "^6|^7|^8",
+ "squizlabs/php_codesniffer": "^3.5"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "2.0-dev"
+ },
+ "laravel": {
+ "providers": [
+ "Fruitcake\\Cors\\CorsServiceProvider"
+ ]
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Fruitcake\\Cors\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Fruitcake",
+ "homepage": "https://fruitcake.nl"
+ },
+ {
+ "name": "Barry vd. Heuvel",
+ "email": "barryvdh@gmail.com"
+ }
+ ],
+ "description": "Adds CORS (Cross-Origin Resource Sharing) headers support in your Laravel application",
+ "keywords": [
+ "api",
+ "cors",
+ "crossdomain",
+ "laravel"
+ ],
+ "funding": [
+ {
+ "url": "https://github.com/barryvdh",
+ "type": "github"
+ }
+ ],
+ "time": "2020-10-22T13:57:20+00:00"
+ },
+ {
+ "name": "blade-ui-kit/blade-ui-kit",
+ "version": "0.2.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/blade-ui-kit/blade-ui-kit.git",
+ "reference": "28f4a43a817f381b1590e30c877655e3bcdd190a"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/blade-ui-kit/blade-ui-kit/zipball/28f4a43a817f381b1590e30c877655e3bcdd190a",
+ "reference": "28f4a43a817f381b1590e30c877655e3bcdd190a",
+ "shasum": ""
+ },
+ "require": {
+ "ext-json": "*",
+ "illuminate/filesystem": "^7.0|^8.0",
+ "illuminate/support": "^7.0|^8.0",
+ "illuminate/view": "^7.0|^8.0",
+ "nesbot/carbon": "^2.38",
+ "php": "^7.3|^8.0"
+ },
+ "require-dev": {
+ "gajus/dindent": "^2.0",
+ "guzzlehttp/guzzle": "^6.5",
+ "league/commonmark": "^1.4",
+ "lorisleiva/cron-translator": "^0.1.1",
+ "orchestra/testbench": "^5.0|^6.0",
+ "phpunit/phpunit": "^9.0"
+ },
+ "suggest": {
+ "league/commonmark": "Required to use the markdown component (^1.4).",
+ "lorisleiva/cron-translator": "Required to use the cron component (^0.1.1)."
+ },
+ "type": "library",
+ "extra": {
+ "laravel": {
+ "providers": [
+ "BladeUIKit\\BladeUIKitServiceProvider"
+ ]
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "BladeUIKit\\": "src"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Dries Vints",
+ "email": "dries@vints.io",
+ "homepage": "https://driesvints.com",
+ "role": "Developer"
+ }
+ ],
+ "description": "A set of renderless components to utilise in your Laravel Blade views.",
+ "homepage": "https://github.com/blade-ui-kit/blade-ui-kit",
+ "keywords": [
+ "blade",
+ "laravel",
+ "ui"
+ ],
+ "funding": [
+ {
+ "url": "https://github.com/driesvints",
+ "type": "github"
+ }
+ ],
+ "time": "2020-10-31T20:40:44+00:00"
+ },
{
"name": "brick/math",
"version": "0.9.1",
@@ -105,6 +304,139 @@
],
"time": "2020-08-18T23:57:15+00:00"
},
+ {
+ "name": "cocur/slugify",
+ "version": "v4.0.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/cocur/slugify.git",
+ "reference": "3f1ffc300f164f23abe8b64ffb3f92d35cec8307"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/cocur/slugify/zipball/3f1ffc300f164f23abe8b64ffb3f92d35cec8307",
+ "reference": "3f1ffc300f164f23abe8b64ffb3f92d35cec8307",
+ "shasum": ""
+ },
+ "require": {
+ "ext-mbstring": "*",
+ "php": ">=7.0"
+ },
+ "conflict": {
+ "symfony/config": "<3.4 || >=4,<4.3",
+ "symfony/dependency-injection": "<3.4 || >=4,<4.3",
+ "symfony/http-kernel": "<3.4 || >=4,<4.3",
+ "twig/twig": "<2.12.1"
+ },
+ "require-dev": {
+ "laravel/framework": "~5.1",
+ "latte/latte": "~2.2",
+ "league/container": "^2.2.0",
+ "mikey179/vfsstream": "~1.6.8",
+ "mockery/mockery": "^1.3",
+ "nette/di": "~2.4",
+ "phpunit/phpunit": "^5.7.27",
+ "pimple/pimple": "~1.1",
+ "plumphp/plum": "~0.1",
+ "symfony/config": "^3.4 || ^4.3 || ^5.0",
+ "symfony/dependency-injection": "^3.4 || ^4.3 || ^5.0",
+ "symfony/http-kernel": "^3.4 || ^4.3 || ^5.0",
+ "twig/twig": "^2.12.1 || ~3.0",
+ "zendframework/zend-modulemanager": "~2.2",
+ "zendframework/zend-servicemanager": "~2.2",
+ "zendframework/zend-view": "~2.2"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Cocur\\Slugify\\": "src"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Florian Eckerstorfer",
+ "email": "florian@eckerstorfer.co",
+ "homepage": "https://florian.ec"
+ },
+ {
+ "name": "Ivo Bathke",
+ "email": "ivo.bathke@gmail.com"
+ }
+ ],
+ "description": "Converts a string into a slug.",
+ "keywords": [
+ "slug",
+ "slugify"
+ ],
+ "time": "2019-12-14T13:04:14+00:00"
+ },
+ {
+ "name": "cviebrock/eloquent-sluggable",
+ "version": "8.0.2",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/cviebrock/eloquent-sluggable.git",
+ "reference": "1b693b333de9080380340facf3806c644a949ad7"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/cviebrock/eloquent-sluggable/zipball/1b693b333de9080380340facf3806c644a949ad7",
+ "reference": "1b693b333de9080380340facf3806c644a949ad7",
+ "shasum": ""
+ },
+ "require": {
+ "cocur/slugify": "^4.0",
+ "illuminate/config": "^8.0",
+ "illuminate/database": "^8.0",
+ "illuminate/support": "^8.0",
+ "php": "^7.3|^8.0"
+ },
+ "require-dev": {
+ "limedeck/phpunit-detailed-printer": "^6.0",
+ "mockery/mockery": "^1.4.2",
+ "orchestra/database": "^6.0",
+ "orchestra/testbench": "^6.0",
+ "phpunit/phpunit": "^9.3"
+ },
+ "type": "library",
+ "extra": {
+ "laravel": {
+ "providers": [
+ "Cviebrock\\EloquentSluggable\\ServiceProvider"
+ ]
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Cviebrock\\EloquentSluggable\\": "src"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Colin Viebrock",
+ "email": "colin@viebrock.ca"
+ }
+ ],
+ "description": "Easy creation of slugs for your Eloquent models in Laravel",
+ "homepage": "https://github.com/cviebrock/eloquent-sluggable",
+ "keywords": [
+ "eloquent",
+ "eloquent-sluggable",
+ "laravel",
+ "lumen",
+ "slug",
+ "sluggable"
+ ],
+ "time": "2020-11-29T18:53:58+00:00"
+ },
{
"name": "dnoegel/php-xdg-base-dir",
"version": "v0.1.1",
@@ -279,26 +611,29 @@
},
{
"name": "dragonmantank/cron-expression",
- "version": "v3.0.2",
+ "version": "v3.1.0",
"source": {
"type": "git",
"url": "https://github.com/dragonmantank/cron-expression.git",
- "reference": "48212cdc0a79051d50d7fc2f0645c5a321caf926"
+ "reference": "7a8c6e56ab3ffcc538d05e8155bb42269abf1a0c"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/dragonmantank/cron-expression/zipball/48212cdc0a79051d50d7fc2f0645c5a321caf926",
- "reference": "48212cdc0a79051d50d7fc2f0645c5a321caf926",
+ "url": "https://api.github.com/repos/dragonmantank/cron-expression/zipball/7a8c6e56ab3ffcc538d05e8155bb42269abf1a0c",
+ "reference": "7a8c6e56ab3ffcc538d05e8155bb42269abf1a0c",
"shasum": ""
},
"require": {
- "php": "^7.1|^8.0"
+ "php": "^7.2|^8.0",
+ "webmozart/assert": "^1.7.0"
},
"replace": {
"mtdowling/cron-expression": "^1.0"
},
"require-dev": {
- "phpstan/phpstan": "^0.11|^0.12",
+ "phpstan/extension-installer": "^1.0",
+ "phpstan/phpstan": "^0.12",
+ "phpstan/phpstan-webmozart-assert": "^0.12.7",
"phpunit/phpunit": "^7.0|^8.0|^9.0"
},
"type": "library",
@@ -329,20 +664,20 @@
"type": "github"
}
],
- "time": "2020-10-13T01:26:01+00:00"
+ "time": "2020-11-24T19:55:57+00:00"
},
{
"name": "egulias/email-validator",
- "version": "2.1.22",
+ "version": "2.1.24",
"source": {
"type": "git",
"url": "https://github.com/egulias/EmailValidator.git",
- "reference": "68e418ec08fbfc6f58f6fd2eea70ca8efc8cc7d5"
+ "reference": "ca90a3291eee1538cd48ff25163240695bd95448"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/egulias/EmailValidator/zipball/68e418ec08fbfc6f58f6fd2eea70ca8efc8cc7d5",
- "reference": "68e418ec08fbfc6f58f6fd2eea70ca8efc8cc7d5",
+ "url": "https://api.github.com/repos/egulias/EmailValidator/zipball/ca90a3291eee1538cd48ff25163240695bd95448",
+ "reference": "ca90a3291eee1538cd48ff25163240695bd95448",
"shasum": ""
},
"require": {
@@ -387,7 +722,13 @@
"validation",
"validator"
],
- "time": "2020-09-26T15:48:38+00:00"
+ "funding": [
+ {
+ "url": "https://github.com/egulias",
+ "type": "github"
+ }
+ ],
+ "time": "2020-11-14T15:56:27+00:00"
},
{
"name": "erusev/parsedown",
@@ -437,22 +778,22 @@
},
{
"name": "facade/flare-client-php",
- "version": "1.3.6",
+ "version": "1.3.7",
"source": {
"type": "git",
"url": "https://github.com/facade/flare-client-php.git",
- "reference": "451fadf38e9f635e7f8e1f5b3cf5c9eb82f11799"
+ "reference": "fd688d3c06658f2b3b5f7bb19f051ee4ddf02492"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/facade/flare-client-php/zipball/451fadf38e9f635e7f8e1f5b3cf5c9eb82f11799",
- "reference": "451fadf38e9f635e7f8e1f5b3cf5c9eb82f11799",
+ "url": "https://api.github.com/repos/facade/flare-client-php/zipball/fd688d3c06658f2b3b5f7bb19f051ee4ddf02492",
+ "reference": "fd688d3c06658f2b3b5f7bb19f051ee4ddf02492",
"shasum": ""
},
"require": {
"facade/ignition-contracts": "~1.0",
"illuminate/pipeline": "^5.5|^6.0|^7.0|^8.0",
- "php": "^7.1",
+ "php": "^7.1|^8.0",
"symfony/http-foundation": "^3.3|^4.1|^5.0",
"symfony/mime": "^3.4|^4.0|^5.1",
"symfony/var-dumper": "^3.4|^4.0|^5.0"
@@ -494,32 +835,31 @@
"type": "github"
}
],
- "time": "2020-09-18T06:35:11+00:00"
+ "time": "2020-10-21T16:02:39+00:00"
},
{
"name": "facade/ignition",
- "version": "2.4.1",
+ "version": "2.5.3",
"source": {
"type": "git",
"url": "https://github.com/facade/ignition.git",
- "reference": "9fc6c3d3de5271a1b94cff19dce2c9295abf0ffa"
+ "reference": "d8dc4f90ed469f9f9313b976fb078c20585d5c99"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/facade/ignition/zipball/9fc6c3d3de5271a1b94cff19dce2c9295abf0ffa",
- "reference": "9fc6c3d3de5271a1b94cff19dce2c9295abf0ffa",
+ "url": "https://api.github.com/repos/facade/ignition/zipball/d8dc4f90ed469f9f9313b976fb078c20585d5c99",
+ "reference": "d8dc4f90ed469f9f9313b976fb078c20585d5c99",
"shasum": ""
},
"require": {
"ext-json": "*",
"ext-mbstring": "*",
- "facade/flare-client-php": "^1.0",
- "facade/ignition-contracts": "^1.0",
+ "facade/flare-client-php": "^1.3.7",
+ "facade/ignition-contracts": "^1.0.2",
"filp/whoops": "^2.4",
"illuminate/support": "^7.0|^8.0",
"monolog/monolog": "^2.0",
- "php": "^7.2.5",
- "scrivo/highlight.php": "^9.15",
+ "php": "^7.2.5|^8.0",
"symfony/console": "^5.0",
"symfony/var-dumper": "^5.0"
},
@@ -566,7 +906,7 @@
"laravel",
"page"
],
- "time": "2020-10-14T08:59:59+00:00"
+ "time": "2020-12-09T20:25:45+00:00"
},
{
"name": "facade/ignition-contracts",
@@ -619,24 +959,24 @@
},
{
"name": "fideloper/proxy",
- "version": "4.4.0",
+ "version": "4.4.1",
"source": {
"type": "git",
"url": "https://github.com/fideloper/TrustedProxy.git",
- "reference": "9beebf48a1c344ed67c1d36bb1b8709db7c3c1a8"
+ "reference": "c073b2bd04d1c90e04dc1b787662b558dd65ade0"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/fideloper/TrustedProxy/zipball/9beebf48a1c344ed67c1d36bb1b8709db7c3c1a8",
- "reference": "9beebf48a1c344ed67c1d36bb1b8709db7c3c1a8",
+ "url": "https://api.github.com/repos/fideloper/TrustedProxy/zipball/c073b2bd04d1c90e04dc1b787662b558dd65ade0",
+ "reference": "c073b2bd04d1c90e04dc1b787662b558dd65ade0",
"shasum": ""
},
"require": {
- "illuminate/contracts": "^5.0|^6.0|^7.0|^8.0",
+ "illuminate/contracts": "^5.0|^6.0|^7.0|^8.0|^9.0",
"php": ">=5.4.0"
},
"require-dev": {
- "illuminate/http": "^5.0|^6.0|^7.0|^8.0",
+ "illuminate/http": "^5.0|^6.0|^7.0|^8.0|^9.0",
"mockery/mockery": "^1.0",
"phpunit/phpunit": "^6.0"
},
@@ -669,20 +1009,20 @@
"proxy",
"trusted proxy"
],
- "time": "2020-06-23T01:36:47+00:00"
+ "time": "2020-10-22T13:48:01+00:00"
},
{
"name": "filp/whoops",
- "version": "2.8.0",
+ "version": "2.9.1",
"source": {
"type": "git",
"url": "https://github.com/filp/whoops.git",
- "reference": "fa50d9db1c0c2fae99cf988d27023effda5524a3"
+ "reference": "307fb34a5ab697461ec4c9db865b20ff2fd40771"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/filp/whoops/zipball/fa50d9db1c0c2fae99cf988d27023effda5524a3",
- "reference": "fa50d9db1c0c2fae99cf988d27023effda5524a3",
+ "url": "https://api.github.com/repos/filp/whoops/zipball/307fb34a5ab697461ec4c9db865b20ff2fd40771",
+ "reference": "307fb34a5ab697461ec4c9db865b20ff2fd40771",
"shasum": ""
},
"require": {
@@ -730,7 +1070,7 @@
"throwable",
"whoops"
],
- "time": "2020-10-17T09:00:00+00:00"
+ "time": "2020-11-01T12:00:00+00:00"
},
{
"name": "graham-campbell/result-type",
@@ -1016,44 +1356,44 @@
},
{
"name": "laravel/framework",
- "version": "v8.10.0",
+ "version": "v8.20.1",
"source": {
"type": "git",
"url": "https://github.com/laravel/framework.git",
- "reference": "0c80950806cd1bc6d9a7068585a12c2bfa23bdf3"
+ "reference": "b5d8573ab16027867eaa1ac148893833434f9b02"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/laravel/framework/zipball/0c80950806cd1bc6d9a7068585a12c2bfa23bdf3",
- "reference": "0c80950806cd1bc6d9a7068585a12c2bfa23bdf3",
+ "url": "https://api.github.com/repos/laravel/framework/zipball/b5d8573ab16027867eaa1ac148893833434f9b02",
+ "reference": "b5d8573ab16027867eaa1ac148893833434f9b02",
"shasum": ""
},
"require": {
"doctrine/inflector": "^1.4|^2.0",
- "dragonmantank/cron-expression": "^3.0",
+ "dragonmantank/cron-expression": "^3.0.2",
"egulias/email-validator": "^2.1.10",
"ext-json": "*",
"ext-mbstring": "*",
"ext-openssl": "*",
"league/commonmark": "^1.3",
- "league/flysystem": "^1.0.34",
+ "league/flysystem": "^1.1",
"monolog/monolog": "^2.0",
- "nesbot/carbon": "^2.17",
- "opis/closure": "^3.5.3",
- "php": "^7.3",
+ "nesbot/carbon": "^2.31",
+ "opis/closure": "^3.6",
+ "php": "^7.3|^8.0",
"psr/container": "^1.0",
"psr/simple-cache": "^1.0",
"ramsey/uuid": "^4.0",
"swiftmailer/swiftmailer": "^6.0",
- "symfony/console": "^5.1",
- "symfony/error-handler": "^5.1",
- "symfony/finder": "^5.1",
- "symfony/http-foundation": "^5.1",
- "symfony/http-kernel": "^5.1",
- "symfony/mime": "^5.1",
- "symfony/process": "^5.1",
- "symfony/routing": "^5.1",
- "symfony/var-dumper": "^5.1",
+ "symfony/console": "^5.1.4",
+ "symfony/error-handler": "^5.1.4",
+ "symfony/finder": "^5.1.4",
+ "symfony/http-foundation": "^5.1.4",
+ "symfony/http-kernel": "^5.1.4",
+ "symfony/mime": "^5.1.4",
+ "symfony/process": "^5.1.4",
+ "symfony/routing": "^5.1.4",
+ "symfony/var-dumper": "^5.1.4",
"tijsverkoyen/css-to-inline-styles": "^2.2.2",
"vlucas/phpdotenv": "^5.2",
"voku/portable-ascii": "^1.4.8"
@@ -1098,43 +1438,43 @@
"illuminate/view": "self.version"
},
"require-dev": {
- "aws/aws-sdk-php": "^3.0",
- "doctrine/dbal": "^2.6",
- "filp/whoops": "^2.4",
+ "aws/aws-sdk-php": "^3.155",
+ "doctrine/dbal": "^2.6|^3.0",
+ "filp/whoops": "^2.8",
"guzzlehttp/guzzle": "^6.5.5|^7.0.1",
"league/flysystem-cached-adapter": "^1.0",
- "mockery/mockery": "^1.3.1",
- "orchestra/testbench-core": "^6.0",
+ "mockery/mockery": "^1.4.2",
+ "orchestra/testbench-core": "^6.8",
"pda/pheanstalk": "^4.0",
- "phpunit/phpunit": "^8.4|^9.0",
+ "phpunit/phpunit": "^8.5.8|^9.3.3",
"predis/predis": "^1.1.1",
- "symfony/cache": "^5.1"
+ "symfony/cache": "^5.1.4"
},
"suggest": {
- "aws/aws-sdk-php": "Required to use the SQS queue driver, DynamoDb failed job storage and SES mail driver (^3.0).",
- "doctrine/dbal": "Required to rename columns and drop SQLite columns (^2.6).",
+ "aws/aws-sdk-php": "Required to use the SQS queue driver, DynamoDb failed job storage and SES mail driver (^3.155).",
+ "doctrine/dbal": "Required to rename columns and drop SQLite columns (^2.6|^3.0).",
"ext-ftp": "Required to use the Flysystem FTP driver.",
"ext-gd": "Required to use Illuminate\\Http\\Testing\\FileFactory::image().",
"ext-memcached": "Required to use the memcache cache driver.",
"ext-pcntl": "Required to use all features of the queue worker.",
"ext-posix": "Required to use all features of the queue worker.",
"ext-redis": "Required to use the Redis cache and queue drivers (^4.0|^5.0).",
- "filp/whoops": "Required for friendly error pages in development (^2.4).",
- "fzaninotto/faker": "Required to use the eloquent factory builder (^1.9.1).",
+ "fakerphp/faker": "Required to use the eloquent factory builder (^1.9.1).",
+ "filp/whoops": "Required for friendly error pages in development (^2.8).",
"guzzlehttp/guzzle": "Required to use the HTTP Client, Mailgun mail driver and the ping methods on schedules (^6.5.5|^7.0.1).",
"laravel/tinker": "Required to use the tinker console command (^2.0).",
"league/flysystem-aws-s3-v3": "Required to use the Flysystem S3 driver (^1.0).",
"league/flysystem-cached-adapter": "Required to use the Flysystem cache (^1.0).",
"league/flysystem-sftp": "Required to use the Flysystem SFTP driver (^1.0).",
- "mockery/mockery": "Required to use mocking (^1.3.1).",
+ "mockery/mockery": "Required to use mocking (^1.4.2).",
"nyholm/psr7": "Required to use PSR-7 bridging features (^1.2).",
"pda/pheanstalk": "Required to use the beanstalk queue driver (^4.0).",
- "phpunit/phpunit": "Required to use assertions and run tests (^8.4|^9.0).",
+ "phpunit/phpunit": "Required to use assertions and run tests (^8.5.8|^9.3.3).",
"predis/predis": "Required to use the predis connector (^1.1.2).",
"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 (^4.0).",
- "symfony/cache": "Required to PSR-6 cache bridge (^5.1).",
- "symfony/filesystem": "Required to enable support for relative symbolic links (^5.1).",
+ "symfony/cache": "Required to PSR-6 cache bridge (^5.1.4).",
+ "symfony/filesystem": "Required to enable support for relative symbolic links (^5.1.4).",
"symfony/psr-http-message-bridge": "Required to use PSR-7 bridging features (^2.0).",
"wildbit/swiftmailer-postmark": "Required to use Postmark mail driver (^3.0)."
},
@@ -1175,33 +1515,33 @@
"framework",
"laravel"
],
- "time": "2020-10-13T14:20:53+00:00"
+ "time": "2020-12-22T21:21:19+00:00"
},
{
"name": "laravel/tinker",
- "version": "v2.4.2",
+ "version": "v2.5.0",
"source": {
"type": "git",
"url": "https://github.com/laravel/tinker.git",
- "reference": "58424c24e8aec31c3a3ac54eb3adb15e8a0a067b"
+ "reference": "45884b526e10a88a1b179fa1a1a24d5468c668c2"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/laravel/tinker/zipball/58424c24e8aec31c3a3ac54eb3adb15e8a0a067b",
- "reference": "58424c24e8aec31c3a3ac54eb3adb15e8a0a067b",
+ "url": "https://api.github.com/repos/laravel/tinker/zipball/45884b526e10a88a1b179fa1a1a24d5468c668c2",
+ "reference": "45884b526e10a88a1b179fa1a1a24d5468c668c2",
"shasum": ""
},
"require": {
"illuminate/console": "^6.0|^7.0|^8.0",
"illuminate/contracts": "^6.0|^7.0|^8.0",
"illuminate/support": "^6.0|^7.0|^8.0",
- "php": "^7.2",
- "psy/psysh": "^0.10.3",
- "symfony/var-dumper": "^4.3|^5.0"
+ "php": "^7.2.5|^8.0",
+ "psy/psysh": "^0.10.4",
+ "symfony/var-dumper": "^4.3.4|^5.0"
},
"require-dev": {
- "mockery/mockery": "^1.3.1",
- "phpunit/phpunit": "^8.4|^9.0"
+ "mockery/mockery": "~1.3.3|^1.4.2",
+ "phpunit/phpunit": "^8.5.8|^9.3.3"
},
"suggest": {
"illuminate/database": "The Illuminate Database package (^6.0|^7.0|^8.0)."
@@ -1239,27 +1579,27 @@
"laravel",
"psysh"
],
- "time": "2020-08-11T19:28:08+00:00"
+ "time": "2020-10-29T13:07:12+00:00"
},
{
"name": "laravel/ui",
- "version": "v3.0.0",
+ "version": "v3.1.0",
"source": {
"type": "git",
"url": "https://github.com/laravel/ui.git",
- "reference": "ff6af4f0bc5a5bfe73352cdc03dbfffc4ace92d8"
+ "reference": "444072cb2f8baaa15172c5cde2bd30d188c3b7e7"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/laravel/ui/zipball/ff6af4f0bc5a5bfe73352cdc03dbfffc4ace92d8",
- "reference": "ff6af4f0bc5a5bfe73352cdc03dbfffc4ace92d8",
+ "url": "https://api.github.com/repos/laravel/ui/zipball/444072cb2f8baaa15172c5cde2bd30d188c3b7e7",
+ "reference": "444072cb2f8baaa15172c5cde2bd30d188c3b7e7",
"shasum": ""
},
"require": {
"illuminate/console": "^8.0",
"illuminate/filesystem": "^8.0",
"illuminate/support": "^8.0",
- "php": "^7.3"
+ "php": "^7.3|^8.0"
},
"type": "library",
"extra": {
@@ -1293,20 +1633,85 @@
"laravel",
"ui"
],
- "time": "2020-09-11T15:34:08+00:00"
+ "time": "2020-11-03T19:51:21+00:00"
+ },
+ {
+ "name": "lcobucci/jwt",
+ "version": "3.3.3",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/lcobucci/jwt.git",
+ "reference": "c1123697f6a2ec29162b82f170dd4a491f524773"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/lcobucci/jwt/zipball/c1123697f6a2ec29162b82f170dd4a491f524773",
+ "reference": "c1123697f6a2ec29162b82f170dd4a491f524773",
+ "shasum": ""
+ },
+ "require": {
+ "ext-mbstring": "*",
+ "ext-openssl": "*",
+ "php": "^5.6 || ^7.0"
+ },
+ "require-dev": {
+ "mikey179/vfsstream": "~1.5",
+ "phpmd/phpmd": "~2.2",
+ "phpunit/php-invoker": "~1.1",
+ "phpunit/phpunit": "^5.7 || ^7.3",
+ "squizlabs/php_codesniffer": "~2.3"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "3.1-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Lcobucci\\JWT\\": "src"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Luís Otávio Cobucci Oblonczyk",
+ "email": "lcobucci@gmail.com",
+ "role": "Developer"
+ }
+ ],
+ "description": "A simple library to work with JSON Web Token and JSON Web Signature",
+ "keywords": [
+ "JWS",
+ "jwt"
+ ],
+ "funding": [
+ {
+ "url": "https://github.com/lcobucci",
+ "type": "github"
+ },
+ {
+ "url": "https://www.patreon.com/lcobucci",
+ "type": "patreon"
+ }
+ ],
+ "time": "2020-08-20T13:22:28+00:00"
},
{
"name": "league/commonmark",
- "version": "1.5.6",
+ "version": "1.5.7",
"source": {
"type": "git",
"url": "https://github.com/thephpleague/commonmark.git",
- "reference": "a56e91e0fa1f6d0049153a9c34f63488f6b7ce61"
+ "reference": "11df9b36fd4f1d2b727a73bf14931d81373b9a54"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/thephpleague/commonmark/zipball/a56e91e0fa1f6d0049153a9c34f63488f6b7ce61",
- "reference": "a56e91e0fa1f6d0049153a9c34f63488f6b7ce61",
+ "url": "https://api.github.com/repos/thephpleague/commonmark/zipball/11df9b36fd4f1d2b727a73bf14931d81373b9a54",
+ "reference": "11df9b36fd4f1d2b727a73bf14931d81373b9a54",
"shasum": ""
},
"require": {
@@ -1388,7 +1793,7 @@
"type": "tidelift"
}
],
- "time": "2020-10-17T21:33:03+00:00"
+ "time": "2020-10-31T13:49:32+00:00"
},
{
"name": "league/flysystem",
@@ -1528,16 +1933,16 @@
},
{
"name": "monolog/monolog",
- "version": "2.1.1",
+ "version": "2.2.0",
"source": {
"type": "git",
"url": "https://github.com/Seldaek/monolog.git",
- "reference": "f9eee5cec93dfb313a38b6b288741e84e53f02d5"
+ "reference": "1cb1cde8e8dd0f70cc0fe51354a59acad9302084"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/Seldaek/monolog/zipball/f9eee5cec93dfb313a38b6b288741e84e53f02d5",
- "reference": "f9eee5cec93dfb313a38b6b288741e84e53f02d5",
+ "url": "https://api.github.com/repos/Seldaek/monolog/zipball/1cb1cde8e8dd0f70cc0fe51354a59acad9302084",
+ "reference": "1cb1cde8e8dd0f70cc0fe51354a59acad9302084",
"shasum": ""
},
"require": {
@@ -1550,16 +1955,17 @@
"require-dev": {
"aws/aws-sdk-php": "^2.4.9 || ^3.0",
"doctrine/couchdb": "~1.0@dev",
- "elasticsearch/elasticsearch": "^6.0",
+ "elasticsearch/elasticsearch": "^7",
"graylog2/gelf-php": "^1.4.2",
+ "mongodb/mongodb": "^1.8",
"php-amqplib/php-amqplib": "~2.4",
"php-console/php-console": "^3.1.3",
- "php-parallel-lint/php-parallel-lint": "^1.0",
"phpspec/prophecy": "^1.6.1",
+ "phpstan/phpstan": "^0.12.59",
"phpunit/phpunit": "^8.5",
"predis/predis": "^1.1",
"rollbar/rollbar": "^1.3",
- "ruflin/elastica": ">=0.90 <3.0",
+ "ruflin/elastica": ">=0.90 <7.0.1",
"swiftmailer/swiftmailer": "^5.3|^6.0"
},
"suggest": {
@@ -1579,7 +1985,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "2.x-dev"
+ "dev-main": "2.x-dev"
}
},
"autoload": {
@@ -1595,30 +2001,103 @@
{
"name": "Jordi Boggiano",
"email": "j.boggiano@seld.be",
- "homepage": "http://seld.be"
+ "homepage": "https://seld.be"
}
],
"description": "Sends your logs to files, sockets, inboxes, databases and various web services",
- "homepage": "http://github.com/Seldaek/monolog",
+ "homepage": "https://github.com/Seldaek/monolog",
"keywords": [
"log",
"logging",
"psr-3"
],
- "time": "2020-07-23T08:41:23+00:00"
+ "funding": [
+ {
+ "url": "https://github.com/Seldaek",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/monolog/monolog",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2020-12-14T13:15:25+00:00"
+ },
+ {
+ "name": "namshi/jose",
+ "version": "7.2.3",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/namshi/jose.git",
+ "reference": "89a24d7eb3040e285dd5925fcad992378b82bcff"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/namshi/jose/zipball/89a24d7eb3040e285dd5925fcad992378b82bcff",
+ "reference": "89a24d7eb3040e285dd5925fcad992378b82bcff",
+ "shasum": ""
+ },
+ "require": {
+ "ext-date": "*",
+ "ext-hash": "*",
+ "ext-json": "*",
+ "ext-pcre": "*",
+ "ext-spl": "*",
+ "php": ">=5.5",
+ "symfony/polyfill-php56": "^1.0"
+ },
+ "require-dev": {
+ "phpseclib/phpseclib": "^2.0",
+ "phpunit/phpunit": "^4.5|^5.0",
+ "satooshi/php-coveralls": "^1.0"
+ },
+ "suggest": {
+ "ext-openssl": "Allows to use OpenSSL as crypto engine.",
+ "phpseclib/phpseclib": "Allows to use Phpseclib as crypto engine, use version ^2.0."
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Namshi\\JOSE\\": "src/Namshi/JOSE/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Alessandro Nadalin",
+ "email": "alessandro.nadalin@gmail.com"
+ },
+ {
+ "name": "Alessandro Cinelli (cirpo)",
+ "email": "alessandro.cinelli@gmail.com"
+ }
+ ],
+ "description": "JSON Object Signing and Encryption library for PHP.",
+ "keywords": [
+ "JSON Web Signature",
+ "JSON Web Token",
+ "JWS",
+ "json",
+ "jwt",
+ "token"
+ ],
+ "time": "2016-12-05T07:27:31+00:00"
},
{
"name": "nesbot/carbon",
- "version": "2.41.3",
+ "version": "2.43.0",
"source": {
"type": "git",
"url": "https://github.com/briannesbitt/Carbon.git",
- "reference": "e148788eeae9b9b7b87996520358b86faad37b52"
+ "reference": "d32c57d8389113742f4a88725a170236470012e2"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/e148788eeae9b9b7b87996520358b86faad37b52",
- "reference": "e148788eeae9b9b7b87996520358b86faad37b52",
+ "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/d32c57d8389113742f4a88725a170236470012e2",
+ "reference": "d32c57d8389113742f4a88725a170236470012e2",
"shasum": ""
},
"require": {
@@ -1633,7 +2112,7 @@
"kylekatarnls/multi-tester": "^2.0",
"phpmd/phpmd": "^2.9",
"phpstan/extension-installer": "^1.0",
- "phpstan/phpstan": "^0.12.35",
+ "phpstan/phpstan": "^0.12.54",
"phpunit/phpunit": "^7.5 || ^8.0",
"squizlabs/php_codesniffer": "^3.4"
},
@@ -1694,20 +2173,20 @@
"type": "tidelift"
}
],
- "time": "2020-10-12T20:36:09+00:00"
+ "time": "2020-12-17T20:55:32+00:00"
},
{
"name": "nikic/php-parser",
- "version": "v4.10.2",
+ "version": "v4.10.4",
"source": {
"type": "git",
"url": "https://github.com/nikic/PHP-Parser.git",
- "reference": "658f1be311a230e0907f5dfe0213742aff0596de"
+ "reference": "c6d052fc58cb876152f89f532b95a8d7907e7f0e"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/658f1be311a230e0907f5dfe0213742aff0596de",
- "reference": "658f1be311a230e0907f5dfe0213742aff0596de",
+ "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/c6d052fc58cb876152f89f532b95a8d7907e7f0e",
+ "reference": "c6d052fc58cb876152f89f532b95a8d7907e7f0e",
"shasum": ""
},
"require": {
@@ -1746,20 +2225,20 @@
"parser",
"php"
],
- "time": "2020-09-26T10:30:38+00:00"
+ "time": "2020-12-20T10:01:03+00:00"
},
{
"name": "opis/closure",
- "version": "3.6.0",
+ "version": "3.6.1",
"source": {
"type": "git",
"url": "https://github.com/opis/closure.git",
- "reference": "c547f8262a5fa9ff507bd06cc394067b83a75085"
+ "reference": "943b5d70cc5ae7483f6aff6ff43d7e34592ca0f5"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/opis/closure/zipball/c547f8262a5fa9ff507bd06cc394067b83a75085",
- "reference": "c547f8262a5fa9ff507bd06cc394067b83a75085",
+ "url": "https://api.github.com/repos/opis/closure/zipball/943b5d70cc5ae7483f6aff6ff43d7e34592ca0f5",
+ "reference": "943b5d70cc5ae7483f6aff6ff43d7e34592ca0f5",
"shasum": ""
},
"require": {
@@ -1800,59 +2279,14 @@
"description": "A library that can be used to serialize closures (anonymous functions) and arbitrary objects.",
"homepage": "https://opis.io/closure",
"keywords": [
- "anonymous functions",
- "closure",
- "function",
- "serializable",
- "serialization",
- "serialize"
- ],
- "time": "2020-10-11T21:42:15+00:00"
- },
- {
- "name": "paragonie/random_compat",
- "version": "v9.99.100",
- "source": {
- "type": "git",
- "url": "https://github.com/paragonie/random_compat.git",
- "reference": "996434e5492cb4c3edcb9168db6fbb1359ef965a"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/paragonie/random_compat/zipball/996434e5492cb4c3edcb9168db6fbb1359ef965a",
- "reference": "996434e5492cb4c3edcb9168db6fbb1359ef965a",
- "shasum": ""
- },
- "require": {
- "php": ">= 7"
- },
- "require-dev": {
- "phpunit/phpunit": "4.*|5.*",
- "vimeo/psalm": "^1"
- },
- "suggest": {
- "ext-libsodium": "Provides a modern crypto API that can be used to generate random bytes."
- },
- "type": "library",
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Paragon Initiative Enterprises",
- "email": "security@paragonie.com",
- "homepage": "https://paragonie.com"
- }
- ],
- "description": "PHP 5.x polyfill for random_bytes() and random_int() from PHP 7",
- "keywords": [
- "csprng",
- "polyfill",
- "pseudorandom",
- "random"
+ "anonymous functions",
+ "closure",
+ "function",
+ "serializable",
+ "serialization",
+ "serialize"
],
- "time": "2020-10-15T08:29:30+00:00"
+ "time": "2020-11-07T02:01:34+00:00"
},
{
"name": "phpoption/phpoption",
@@ -2200,16 +2634,16 @@
},
{
"name": "psy/psysh",
- "version": "v0.10.4",
+ "version": "v0.10.5",
"source": {
"type": "git",
"url": "https://github.com/bobthecow/psysh.git",
- "reference": "a8aec1b2981ab66882a01cce36a49b6317dc3560"
+ "reference": "7c710551d4a2653afa259c544508dc18a9098956"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/bobthecow/psysh/zipball/a8aec1b2981ab66882a01cce36a49b6317dc3560",
- "reference": "a8aec1b2981ab66882a01cce36a49b6317dc3560",
+ "url": "https://api.github.com/repos/bobthecow/psysh/zipball/7c710551d4a2653afa259c544508dc18a9098956",
+ "reference": "7c710551d4a2653afa259c544508dc18a9098956",
"shasum": ""
},
"require": {
@@ -2268,7 +2702,7 @@
"interactive",
"shell"
],
- "time": "2020-05-03T19:32:03+00:00"
+ "time": "2020-12-04T02:51:30+00:00"
},
{
"name": "ralouphie/getallheaders",
@@ -2467,117 +2901,111 @@
"time": "2020-08-18T17:17:46+00:00"
},
{
- "name": "scrivo/highlight.php",
- "version": "v9.18.1.3",
+ "name": "spatie/laravel-feed",
+ "version": "3.1.2",
"source": {
"type": "git",
- "url": "https://github.com/scrivo/highlight.php.git",
- "reference": "6a1699707b099081f20a488ac1f92d682181018c"
+ "url": "https://github.com/spatie/laravel-feed.git",
+ "reference": "50bf7976920da38c0432034e3e448a95dfc6473e"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/scrivo/highlight.php/zipball/6a1699707b099081f20a488ac1f92d682181018c",
- "reference": "6a1699707b099081f20a488ac1f92d682181018c",
+ "url": "https://api.github.com/repos/spatie/laravel-feed/zipball/50bf7976920da38c0432034e3e448a95dfc6473e",
+ "reference": "50bf7976920da38c0432034e3e448a95dfc6473e",
"shasum": ""
},
"require": {
- "ext-json": "*",
- "ext-mbstring": "*",
- "php": ">=5.4"
+ "illuminate/contracts": "^7.0|^8.0",
+ "illuminate/http": "^7.0|^8.0",
+ "illuminate/support": "^7.0|^8.0",
+ "php": "^7.4|^8.0"
},
"require-dev": {
- "phpunit/phpunit": "^4.8|^5.7",
- "sabberworm/php-css-parser": "^8.3",
- "symfony/finder": "^2.8|^3.4",
- "symfony/var-dumper": "^2.8|^3.4"
- },
- "suggest": {
- "ext-dom": "Needed to make use of the features in the utilities namespace"
+ "orchestra/testbench": "^5.0|^6.0",
+ "phpunit/phpunit": "^9.3",
+ "spatie/phpunit-snapshot-assertions": "^4.2",
+ "spatie/test-time": "^1.2"
},
"type": "library",
+ "extra": {
+ "laravel": {
+ "providers": [
+ "Spatie\\Feed\\FeedServiceProvider"
+ ]
+ }
+ },
"autoload": {
- "psr-0": {
- "Highlight\\": "",
- "HighlightUtilities\\": ""
- },
- "files": [
- "HighlightUtilities/functions.php"
- ]
+ "psr-4": {
+ "Spatie\\Feed\\": "src"
+ }
},
"notification-url": "https://packagist.org/downloads/",
"license": [
- "BSD-3-Clause"
+ "MIT"
],
"authors": [
{
- "name": "Geert Bergman",
- "homepage": "http://www.scrivo.org/",
- "role": "Project Author"
+ "name": "Jolita Grazyte",
+ "email": "jolita@spatie.be",
+ "homepage": "https://spatie.be",
+ "role": "Developer"
},
{
- "name": "Vladimir Jimenez",
- "homepage": "https://allejo.io",
- "role": "Maintainer"
+ "name": "Freek Van der Herten",
+ "email": "freek@spatie.be",
+ "homepage": "https://spatie.be",
+ "role": "Developer"
},
{
- "name": "Martin Folkers",
- "homepage": "https://twobrain.io",
- "role": "Contributor"
+ "name": "Sebastian De Deyne",
+ "email": "sebastian@spatie.be",
+ "homepage": "https://spatie.be",
+ "role": "Developer"
}
],
- "description": "Server side syntax highlighter that supports 185 languages. It's a PHP port of highlight.js",
+ "description": "Generate rss feeds",
+ "homepage": "https://github.com/spatie/laravel-feed",
"keywords": [
- "code",
- "highlight",
- "highlight.js",
- "highlight.php",
- "syntax"
+ "laravel",
+ "laravel-feed",
+ "rss",
+ "spatie"
],
"funding": [
{
- "url": "https://github.com/allejo",
+ "url": "https://github.com/spatie",
"type": "github"
}
],
- "time": "2020-10-16T07:43:22+00:00"
+ "time": "2020-12-09T09:31:08+00:00"
},
{
- "name": "spatie/laravel-feed",
- "version": "3.0.1",
+ "name": "spatie/laravel-searchable",
+ "version": "1.9.0",
"source": {
"type": "git",
- "url": "https://github.com/spatie/laravel-feed.git",
- "reference": "49bad243c7cd59738816f022563b55de5c45dd9e"
+ "url": "https://github.com/spatie/laravel-searchable.git",
+ "reference": "79ea2abc11f7354d2beec537b39c455b1679d99b"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/spatie/laravel-feed/zipball/49bad243c7cd59738816f022563b55de5c45dd9e",
- "reference": "49bad243c7cd59738816f022563b55de5c45dd9e",
+ "url": "https://api.github.com/repos/spatie/laravel-searchable/zipball/79ea2abc11f7354d2beec537b39c455b1679d99b",
+ "reference": "79ea2abc11f7354d2beec537b39c455b1679d99b",
"shasum": ""
},
"require": {
- "illuminate/contracts": "^7.0|^8.0",
- "illuminate/http": "^7.0|^8.0",
- "illuminate/support": "^7.0|^8.0",
- "php": "^7.4"
+ "laravel/framework": "~5.8.0|^6.0|^7.0|^8.0",
+ "php": "^7.2"
},
"require-dev": {
- "orchestra/testbench": "^5.0|^6.0",
- "phpunit/phpunit": "^9.3",
- "spatie/phpunit-snapshot-assertions": "^4.2",
- "spatie/test-time": "^1.2"
+ "larapack/dd": "^1.0",
+ "orchestra/testbench": "~3.8.0|^4.0|^5.0|^6.0",
+ "phpunit/phpunit": "^7.5|^8.0|^9.3"
},
"type": "library",
- "extra": {
- "laravel": {
- "providers": [
- "Spatie\\Feed\\FeedServiceProvider"
- ]
- }
- },
"autoload": {
"psr-4": {
- "Spatie\\Feed\\": "src"
+ "Spatie\\Searchable\\": "src"
}
},
"notification-url": "https://packagist.org/downloads/",
@@ -2586,8 +3014,8 @@
],
"authors": [
{
- "name": "Jolita Grazyte",
- "email": "jolita@spatie.be",
+ "name": "Alex Vanderbist",
+ "email": "alex@spatie.be",
"homepage": "https://spatie.be",
"role": "Developer"
},
@@ -2596,58 +3024,49 @@
"email": "freek@spatie.be",
"homepage": "https://spatie.be",
"role": "Developer"
- },
- {
- "name": "Sebastian De Deyne",
- "email": "sebastian@spatie.be",
- "homepage": "https://spatie.be",
- "role": "Developer"
}
],
- "description": "Generate rss feeds",
- "homepage": "https://github.com/spatie/laravel-feed",
+ "description": "Pragmatically search through models and other sources",
+ "homepage": "https://github.com/spatie/laravel-searchable",
"keywords": [
- "laravel",
- "laravel-feed",
- "rss",
+ "laravel-searchable",
"spatie"
],
"funding": [
{
- "url": "https://github.com/spatie",
- "type": "github"
+ "url": "https://spatie.be/open-source/support-us",
+ "type": "custom"
}
],
- "time": "2020-09-09T18:55:58+00:00"
+ "time": "2020-12-09T07:25:27+00:00"
},
{
"name": "swiftmailer/swiftmailer",
- "version": "v6.2.3",
+ "version": "v6.2.4",
"source": {
"type": "git",
"url": "https://github.com/swiftmailer/swiftmailer.git",
- "reference": "149cfdf118b169f7840bbe3ef0d4bc795d1780c9"
+ "reference": "56f0ab23f54c4ccbb0d5dcc67ff8552e0c98d59e"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/swiftmailer/swiftmailer/zipball/149cfdf118b169f7840bbe3ef0d4bc795d1780c9",
- "reference": "149cfdf118b169f7840bbe3ef0d4bc795d1780c9",
+ "url": "https://api.github.com/repos/swiftmailer/swiftmailer/zipball/56f0ab23f54c4ccbb0d5dcc67ff8552e0c98d59e",
+ "reference": "56f0ab23f54c4ccbb0d5dcc67ff8552e0c98d59e",
"shasum": ""
},
"require": {
- "egulias/email-validator": "~2.0",
+ "egulias/email-validator": "^2.0",
"php": ">=7.0.0",
"symfony/polyfill-iconv": "^1.0",
"symfony/polyfill-intl-idn": "^1.10",
"symfony/polyfill-mbstring": "^1.0"
},
"require-dev": {
- "mockery/mockery": "~0.9.1",
- "symfony/phpunit-bridge": "^3.4.19|^4.1.8"
+ "mockery/mockery": "^1.0",
+ "symfony/phpunit-bridge": "^4.4|^5.0"
},
"suggest": {
- "ext-intl": "Needed to support internationalized email addresses",
- "true/punycode": "Needed to support internationalized email addresses, if ext-intl is not installed"
+ "ext-intl": "Needed to support internationalized email addresses"
},
"type": "library",
"extra": {
@@ -2680,20 +3099,30 @@
"mail",
"mailer"
],
- "time": "2019-11-12T09:31:26+00:00"
+ "funding": [
+ {
+ "url": "https://github.com/fabpot",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/swiftmailer/swiftmailer",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2020-12-08T18:02:06+00:00"
},
{
"name": "symfony/console",
- "version": "v5.1.7",
+ "version": "v5.2.1",
"source": {
"type": "git",
"url": "https://github.com/symfony/console.git",
- "reference": "ae789a8a2ad189ce7e8216942cdb9b77319f5eb8"
+ "reference": "47c02526c532fb381374dab26df05e7313978976"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/console/zipball/ae789a8a2ad189ce7e8216942cdb9b77319f5eb8",
- "reference": "ae789a8a2ad189ce7e8216942cdb9b77319f5eb8",
+ "url": "https://api.github.com/repos/symfony/console/zipball/47c02526c532fb381374dab26df05e7313978976",
+ "reference": "47c02526c532fb381374dab26df05e7313978976",
"shasum": ""
},
"require": {
@@ -2730,11 +3159,6 @@
"symfony/process": ""
},
"type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "5.1-dev"
- }
- },
"autoload": {
"psr-4": {
"Symfony\\Component\\Console\\": ""
@@ -2759,6 +3183,12 @@
],
"description": "Symfony Console Component",
"homepage": "https://symfony.com",
+ "keywords": [
+ "cli",
+ "command line",
+ "console",
+ "terminal"
+ ],
"funding": [
{
"url": "https://symfony.com/sponsor",
@@ -2773,31 +3203,26 @@
"type": "tidelift"
}
],
- "time": "2020-10-07T15:23:00+00:00"
+ "time": "2020-12-18T08:03:05+00:00"
},
{
"name": "symfony/css-selector",
- "version": "v5.1.7",
+ "version": "v5.2.1",
"source": {
"type": "git",
"url": "https://github.com/symfony/css-selector.git",
- "reference": "e544e24472d4c97b2d11ade7caacd446727c6bf9"
+ "reference": "f789e7ead4c79e04ca9a6d6162fc629c89bd8054"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/css-selector/zipball/e544e24472d4c97b2d11ade7caacd446727c6bf9",
- "reference": "e544e24472d4c97b2d11ade7caacd446727c6bf9",
+ "url": "https://api.github.com/repos/symfony/css-selector/zipball/f789e7ead4c79e04ca9a6d6162fc629c89bd8054",
+ "reference": "f789e7ead4c79e04ca9a6d6162fc629c89bd8054",
"shasum": ""
},
"require": {
"php": ">=7.2.5"
},
"type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "5.1-dev"
- }
- },
"autoload": {
"psr-4": {
"Symfony\\Component\\CssSelector\\": ""
@@ -2840,7 +3265,7 @@
"type": "tidelift"
}
],
- "time": "2020-05-20T17:43:50+00:00"
+ "time": "2020-12-08T17:02:38+00:00"
},
{
"name": "symfony/deprecation-contracts",
@@ -2908,16 +3333,16 @@
},
{
"name": "symfony/error-handler",
- "version": "v5.1.7",
+ "version": "v5.2.1",
"source": {
"type": "git",
"url": "https://github.com/symfony/error-handler.git",
- "reference": "5e4d8ef8d71822922d1eebd130219ae3491a5ca9"
+ "reference": "59b190ce16ddf32771a22087b60f6dafd3407147"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/error-handler/zipball/5e4d8ef8d71822922d1eebd130219ae3491a5ca9",
- "reference": "5e4d8ef8d71822922d1eebd130219ae3491a5ca9",
+ "url": "https://api.github.com/repos/symfony/error-handler/zipball/59b190ce16ddf32771a22087b60f6dafd3407147",
+ "reference": "59b190ce16ddf32771a22087b60f6dafd3407147",
"shasum": ""
},
"require": {
@@ -2932,11 +3357,6 @@
"symfony/serializer": "^4.4|^5.0"
},
"type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "5.1-dev"
- }
- },
"autoload": {
"psr-4": {
"Symfony\\Component\\ErrorHandler\\": ""
@@ -2975,20 +3395,20 @@
"type": "tidelift"
}
],
- "time": "2020-10-02T08:49:02+00:00"
+ "time": "2020-12-09T18:54:12+00:00"
},
{
"name": "symfony/event-dispatcher",
- "version": "v5.1.7",
+ "version": "v5.2.1",
"source": {
"type": "git",
"url": "https://github.com/symfony/event-dispatcher.git",
- "reference": "d5de97d6af175a9e8131c546db054ca32842dd0f"
+ "reference": "1c93f7a1dff592c252574c79a8635a8a80856042"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/d5de97d6af175a9e8131c546db054ca32842dd0f",
- "reference": "d5de97d6af175a9e8131c546db054ca32842dd0f",
+ "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/1c93f7a1dff592c252574c79a8635a8a80856042",
+ "reference": "1c93f7a1dff592c252574c79a8635a8a80856042",
"shasum": ""
},
"require": {
@@ -3019,11 +3439,6 @@
"symfony/http-kernel": ""
},
"type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "5.1-dev"
- }
- },
"autoload": {
"psr-4": {
"Symfony\\Component\\EventDispatcher\\": ""
@@ -3062,7 +3477,7 @@
"type": "tidelift"
}
],
- "time": "2020-09-18T14:27:32+00:00"
+ "time": "2020-12-18T08:03:05+00:00"
},
{
"name": "symfony/event-dispatcher-contracts",
@@ -3142,27 +3557,22 @@
},
{
"name": "symfony/finder",
- "version": "v5.1.7",
+ "version": "v5.2.1",
"source": {
"type": "git",
"url": "https://github.com/symfony/finder.git",
- "reference": "2c3ba7ad6884e6c4451ce2340e2dc23f6fa3e0d8"
+ "reference": "0b9231a5922fd7287ba5b411893c0ecd2733e5ba"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/finder/zipball/2c3ba7ad6884e6c4451ce2340e2dc23f6fa3e0d8",
- "reference": "2c3ba7ad6884e6c4451ce2340e2dc23f6fa3e0d8",
+ "url": "https://api.github.com/repos/symfony/finder/zipball/0b9231a5922fd7287ba5b411893c0ecd2733e5ba",
+ "reference": "0b9231a5922fd7287ba5b411893c0ecd2733e5ba",
"shasum": ""
},
"require": {
"php": ">=7.2.5"
},
"type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "5.1-dev"
- }
- },
"autoload": {
"psr-4": {
"Symfony\\Component\\Finder\\": ""
@@ -3201,7 +3611,7 @@
"type": "tidelift"
}
],
- "time": "2020-09-02T16:23:27+00:00"
+ "time": "2020-12-08T17:02:38+00:00"
},
{
"name": "symfony/http-client-contracts",
@@ -3281,16 +3691,16 @@
},
{
"name": "symfony/http-foundation",
- "version": "v5.1.7",
+ "version": "v5.2.1",
"source": {
"type": "git",
"url": "https://github.com/symfony/http-foundation.git",
- "reference": "353b42e7b4fd1c898aab09a059466c9cea74039b"
+ "reference": "a1f6218b29897ab52acba58cfa905b83625bef8d"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/http-foundation/zipball/353b42e7b4fd1c898aab09a059466c9cea74039b",
- "reference": "353b42e7b4fd1c898aab09a059466c9cea74039b",
+ "url": "https://api.github.com/repos/symfony/http-foundation/zipball/a1f6218b29897ab52acba58cfa905b83625bef8d",
+ "reference": "a1f6218b29897ab52acba58cfa905b83625bef8d",
"shasum": ""
},
"require": {
@@ -3309,11 +3719,6 @@
"symfony/mime": "To use the file extension guesser"
},
"type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "5.1-dev"
- }
- },
"autoload": {
"psr-4": {
"Symfony\\Component\\HttpFoundation\\": ""
@@ -3352,20 +3757,20 @@
"type": "tidelift"
}
],
- "time": "2020-09-27T14:14:57+00:00"
+ "time": "2020-12-18T10:00:10+00:00"
},
{
"name": "symfony/http-kernel",
- "version": "v5.1.7",
+ "version": "v5.2.1",
"source": {
"type": "git",
"url": "https://github.com/symfony/http-kernel.git",
- "reference": "1764b87d2f10d5c9ce6e4850fe27934116d89708"
+ "reference": "1feb619286d819180f7b8bc0dc44f516d9c62647"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/http-kernel/zipball/1764b87d2f10d5c9ce6e4850fe27934116d89708",
- "reference": "1764b87d2f10d5c9ce6e4850fe27934116d89708",
+ "url": "https://api.github.com/repos/symfony/http-kernel/zipball/1feb619286d819180f7b8bc0dc44f516d9c62647",
+ "reference": "1feb619286d819180f7b8bc0dc44f516d9c62647",
"shasum": ""
},
"require": {
@@ -3385,7 +3790,7 @@
"symfony/cache": "<5.0",
"symfony/config": "<5.0",
"symfony/console": "<4.4",
- "symfony/dependency-injection": "<4.4",
+ "symfony/dependency-injection": "<5.1.8",
"symfony/doctrine-bridge": "<5.0",
"symfony/form": "<5.0",
"symfony/http-client": "<5.0",
@@ -3405,7 +3810,7 @@
"symfony/config": "^5.0",
"symfony/console": "^4.4|^5.0",
"symfony/css-selector": "^4.4|^5.0",
- "symfony/dependency-injection": "^4.4|^5.0",
+ "symfony/dependency-injection": "^5.1.8",
"symfony/dom-crawler": "^4.4|^5.0",
"symfony/expression-language": "^4.4|^5.0",
"symfony/finder": "^4.4|^5.0",
@@ -3423,11 +3828,6 @@
"symfony/dependency-injection": ""
},
"type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "5.1-dev"
- }
- },
"autoload": {
"psr-4": {
"Symfony\\Component\\HttpKernel\\": ""
@@ -3466,24 +3866,25 @@
"type": "tidelift"
}
],
- "time": "2020-10-04T07:57:28+00:00"
+ "time": "2020-12-18T13:49:39+00:00"
},
{
"name": "symfony/mime",
- "version": "v5.1.7",
+ "version": "v5.2.1",
"source": {
"type": "git",
"url": "https://github.com/symfony/mime.git",
- "reference": "4404d6545125863561721514ad9388db2661eec5"
+ "reference": "de97005aef7426ba008c46ba840fc301df577ada"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/mime/zipball/4404d6545125863561721514ad9388db2661eec5",
- "reference": "4404d6545125863561721514ad9388db2661eec5",
+ "url": "https://api.github.com/repos/symfony/mime/zipball/de97005aef7426ba008c46ba840fc301df577ada",
+ "reference": "de97005aef7426ba008c46ba840fc301df577ada",
"shasum": ""
},
"require": {
"php": ">=7.2.5",
+ "symfony/deprecation-contracts": "^2.1",
"symfony/polyfill-intl-idn": "^1.10",
"symfony/polyfill-mbstring": "^1.0",
"symfony/polyfill-php80": "^1.15"
@@ -3493,14 +3894,13 @@
},
"require-dev": {
"egulias/email-validator": "^2.1.10",
- "symfony/dependency-injection": "^4.4|^5.0"
+ "phpdocumentor/reflection-docblock": "^3.0|^4.0|^5.0",
+ "symfony/dependency-injection": "^4.4|^5.0",
+ "symfony/property-access": "^4.4|^5.1",
+ "symfony/property-info": "^4.4|^5.1",
+ "symfony/serializer": "^5.2"
},
"type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "5.1-dev"
- }
- },
"autoload": {
"psr-4": {
"Symfony\\Component\\Mime\\": ""
@@ -3543,24 +3943,24 @@
"type": "tidelift"
}
],
- "time": "2020-09-02T16:23:27+00:00"
+ "time": "2020-12-09T18:54:12+00:00"
},
{
"name": "symfony/polyfill-ctype",
- "version": "v1.18.1",
+ "version": "v1.20.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-ctype.git",
- "reference": "1c302646f6efc070cd46856e600e5e0684d6b454"
+ "reference": "f4ba089a5b6366e453971d3aad5fe8e897b37f41"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/1c302646f6efc070cd46856e600e5e0684d6b454",
- "reference": "1c302646f6efc070cd46856e600e5e0684d6b454",
+ "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/f4ba089a5b6366e453971d3aad5fe8e897b37f41",
+ "reference": "f4ba089a5b6366e453971d3aad5fe8e897b37f41",
"shasum": ""
},
"require": {
- "php": ">=5.3.3"
+ "php": ">=7.1"
},
"suggest": {
"ext-ctype": "For best performance"
@@ -3568,7 +3968,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "1.18-dev"
+ "dev-main": "1.20-dev"
},
"thanks": {
"name": "symfony/polyfill",
@@ -3605,24 +4005,38 @@
"polyfill",
"portable"
],
- "time": "2020-07-14T12:35:20+00:00"
+ "funding": [
+ {
+ "url": "https://symfony.com/sponsor",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/fabpot",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2020-10-23T14:02:19+00:00"
},
{
"name": "symfony/polyfill-iconv",
- "version": "v1.18.1",
+ "version": "v1.20.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-iconv.git",
- "reference": "6c2f78eb8f5ab8eaea98f6d414a5915f2e0fce36"
+ "reference": "c536646fdb4f29104dd26effc2fdcb9a5b085024"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-iconv/zipball/6c2f78eb8f5ab8eaea98f6d414a5915f2e0fce36",
- "reference": "6c2f78eb8f5ab8eaea98f6d414a5915f2e0fce36",
+ "url": "https://api.github.com/repos/symfony/polyfill-iconv/zipball/c536646fdb4f29104dd26effc2fdcb9a5b085024",
+ "reference": "c536646fdb4f29104dd26effc2fdcb9a5b085024",
"shasum": ""
},
"require": {
- "php": ">=5.3.3"
+ "php": ">=7.1"
},
"suggest": {
"ext-iconv": "For best performance"
@@ -3630,7 +4044,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "1.18-dev"
+ "dev-main": "1.20-dev"
},
"thanks": {
"name": "symfony/polyfill",
@@ -3668,24 +4082,38 @@
"portable",
"shim"
],
- "time": "2020-07-14T12:35:20+00:00"
+ "funding": [
+ {
+ "url": "https://symfony.com/sponsor",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/fabpot",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2020-10-23T14:02:19+00:00"
},
{
"name": "symfony/polyfill-intl-grapheme",
- "version": "v1.18.1",
+ "version": "v1.20.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-intl-grapheme.git",
- "reference": "b740103edbdcc39602239ee8860f0f45a8eb9aa5"
+ "reference": "c7cf3f858ec7d70b89559d6e6eb1f7c2517d479c"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/b740103edbdcc39602239ee8860f0f45a8eb9aa5",
- "reference": "b740103edbdcc39602239ee8860f0f45a8eb9aa5",
+ "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/c7cf3f858ec7d70b89559d6e6eb1f7c2517d479c",
+ "reference": "c7cf3f858ec7d70b89559d6e6eb1f7c2517d479c",
"shasum": ""
},
"require": {
- "php": ">=5.3.3"
+ "php": ">=7.1"
},
"suggest": {
"ext-intl": "For best performance"
@@ -3693,7 +4121,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "1.18-dev"
+ "dev-main": "1.20-dev"
},
"thanks": {
"name": "symfony/polyfill",
@@ -3746,26 +4174,25 @@
"type": "tidelift"
}
],
- "time": "2020-07-14T12:35:20+00:00"
+ "time": "2020-10-23T14:02:19+00:00"
},
{
"name": "symfony/polyfill-intl-idn",
- "version": "v1.18.1",
+ "version": "v1.20.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-intl-idn.git",
- "reference": "5dcab1bc7146cf8c1beaa4502a3d9be344334251"
+ "reference": "3b75acd829741c768bc8b1f84eb33265e7cc5117"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/5dcab1bc7146cf8c1beaa4502a3d9be344334251",
- "reference": "5dcab1bc7146cf8c1beaa4502a3d9be344334251",
+ "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/3b75acd829741c768bc8b1f84eb33265e7cc5117",
+ "reference": "3b75acd829741c768bc8b1f84eb33265e7cc5117",
"shasum": ""
},
"require": {
- "php": ">=5.3.3",
+ "php": ">=7.1",
"symfony/polyfill-intl-normalizer": "^1.10",
- "symfony/polyfill-php70": "^1.10",
"symfony/polyfill-php72": "^1.10"
},
"suggest": {
@@ -3774,7 +4201,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "1.18-dev"
+ "dev-main": "1.20-dev"
},
"thanks": {
"name": "symfony/polyfill",
@@ -3817,24 +4244,38 @@
"portable",
"shim"
],
- "time": "2020-08-04T06:02:08+00:00"
+ "funding": [
+ {
+ "url": "https://symfony.com/sponsor",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/fabpot",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2020-10-23T14:02:19+00:00"
},
{
"name": "symfony/polyfill-intl-normalizer",
- "version": "v1.18.1",
+ "version": "v1.20.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-intl-normalizer.git",
- "reference": "37078a8dd4a2a1e9ab0231af7c6cb671b2ed5a7e"
+ "reference": "727d1096295d807c309fb01a851577302394c897"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/37078a8dd4a2a1e9ab0231af7c6cb671b2ed5a7e",
- "reference": "37078a8dd4a2a1e9ab0231af7c6cb671b2ed5a7e",
+ "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/727d1096295d807c309fb01a851577302394c897",
+ "reference": "727d1096295d807c309fb01a851577302394c897",
"shasum": ""
},
"require": {
- "php": ">=5.3.3"
+ "php": ">=7.1"
},
"suggest": {
"ext-intl": "For best performance"
@@ -3842,7 +4283,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "1.18-dev"
+ "dev-main": "1.20-dev"
},
"thanks": {
"name": "symfony/polyfill",
@@ -3884,24 +4325,38 @@
"portable",
"shim"
],
- "time": "2020-07-14T12:35:20+00:00"
+ "funding": [
+ {
+ "url": "https://symfony.com/sponsor",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/fabpot",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2020-10-23T14:02:19+00:00"
},
{
"name": "symfony/polyfill-mbstring",
- "version": "v1.18.1",
+ "version": "v1.20.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-mbstring.git",
- "reference": "a6977d63bf9a0ad4c65cd352709e230876f9904a"
+ "reference": "39d483bdf39be819deabf04ec872eb0b2410b531"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/a6977d63bf9a0ad4c65cd352709e230876f9904a",
- "reference": "a6977d63bf9a0ad4c65cd352709e230876f9904a",
+ "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/39d483bdf39be819deabf04ec872eb0b2410b531",
+ "reference": "39d483bdf39be819deabf04ec872eb0b2410b531",
"shasum": ""
},
"require": {
- "php": ">=5.3.3"
+ "php": ">=7.1"
},
"suggest": {
"ext-mbstring": "For best performance"
@@ -3909,7 +4364,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "1.18-dev"
+ "dev-main": "1.20-dev"
},
"thanks": {
"name": "symfony/polyfill",
@@ -3947,47 +4402,49 @@
"portable",
"shim"
],
- "time": "2020-07-14T12:35:20+00:00"
+ "funding": [
+ {
+ "url": "https://symfony.com/sponsor",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/fabpot",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2020-10-23T14:02:19+00:00"
},
{
- "name": "symfony/polyfill-php70",
- "version": "v1.18.1",
+ "name": "symfony/polyfill-php56",
+ "version": "v1.20.0",
"source": {
"type": "git",
- "url": "https://github.com/symfony/polyfill-php70.git",
- "reference": "0dd93f2c578bdc9c72697eaa5f1dd25644e618d3"
+ "url": "https://github.com/symfony/polyfill-php56.git",
+ "reference": "54b8cd7e6c1643d78d011f3be89f3ef1f9f4c675"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-php70/zipball/0dd93f2c578bdc9c72697eaa5f1dd25644e618d3",
- "reference": "0dd93f2c578bdc9c72697eaa5f1dd25644e618d3",
+ "url": "https://api.github.com/repos/symfony/polyfill-php56/zipball/54b8cd7e6c1643d78d011f3be89f3ef1f9f4c675",
+ "reference": "54b8cd7e6c1643d78d011f3be89f3ef1f9f4c675",
"shasum": ""
},
"require": {
- "paragonie/random_compat": "~1.0|~2.0|~9.99",
- "php": ">=5.3.3"
+ "php": ">=7.1"
},
- "type": "library",
+ "type": "metapackage",
"extra": {
"branch-alias": {
- "dev-master": "1.18-dev"
+ "dev-main": "1.20-dev"
},
"thanks": {
"name": "symfony/polyfill",
"url": "https://github.com/symfony/polyfill"
}
},
- "autoload": {
- "psr-4": {
- "Symfony\\Polyfill\\Php70\\": ""
- },
- "files": [
- "bootstrap.php"
- ],
- "classmap": [
- "Resources/stubs"
- ]
- },
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
@@ -4002,7 +4459,7 @@
"homepage": "https://symfony.com/contributors"
}
],
- "description": "Symfony polyfill backporting some PHP 7.0+ features to lower PHP versions",
+ "description": "Symfony polyfill backporting some PHP 5.6+ features to lower PHP versions",
"homepage": "https://symfony.com",
"keywords": [
"compatibility",
@@ -4010,29 +4467,43 @@
"portable",
"shim"
],
- "time": "2020-07-14T12:35:20+00:00"
+ "funding": [
+ {
+ "url": "https://symfony.com/sponsor",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/fabpot",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2020-10-23T14:02:19+00:00"
},
{
"name": "symfony/polyfill-php72",
- "version": "v1.18.1",
+ "version": "v1.20.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-php72.git",
- "reference": "639447d008615574653fb3bc60d1986d7172eaae"
+ "reference": "cede45fcdfabdd6043b3592e83678e42ec69e930"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/639447d008615574653fb3bc60d1986d7172eaae",
- "reference": "639447d008615574653fb3bc60d1986d7172eaae",
+ "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/cede45fcdfabdd6043b3592e83678e42ec69e930",
+ "reference": "cede45fcdfabdd6043b3592e83678e42ec69e930",
"shasum": ""
},
"require": {
- "php": ">=5.3.3"
+ "php": ">=7.1"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "1.18-dev"
+ "dev-main": "1.20-dev"
},
"thanks": {
"name": "symfony/polyfill",
@@ -4069,29 +4540,43 @@
"portable",
"shim"
],
- "time": "2020-07-14T12:35:20+00:00"
+ "funding": [
+ {
+ "url": "https://symfony.com/sponsor",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/fabpot",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2020-10-23T14:02:19+00:00"
},
{
"name": "symfony/polyfill-php73",
- "version": "v1.18.1",
+ "version": "v1.20.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-php73.git",
- "reference": "fffa1a52a023e782cdcc221d781fe1ec8f87fcca"
+ "reference": "8ff431c517be11c78c48a39a66d37431e26a6bed"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/fffa1a52a023e782cdcc221d781fe1ec8f87fcca",
- "reference": "fffa1a52a023e782cdcc221d781fe1ec8f87fcca",
+ "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/8ff431c517be11c78c48a39a66d37431e26a6bed",
+ "reference": "8ff431c517be11c78c48a39a66d37431e26a6bed",
"shasum": ""
},
"require": {
- "php": ">=5.3.3"
+ "php": ">=7.1"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "1.18-dev"
+ "dev-main": "1.20-dev"
},
"thanks": {
"name": "symfony/polyfill",
@@ -4131,29 +4616,43 @@
"portable",
"shim"
],
- "time": "2020-07-14T12:35:20+00:00"
+ "funding": [
+ {
+ "url": "https://symfony.com/sponsor",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/fabpot",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2020-10-23T14:02:19+00:00"
},
{
"name": "symfony/polyfill-php80",
- "version": "v1.18.1",
+ "version": "v1.20.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-php80.git",
- "reference": "d87d5766cbf48d72388a9f6b85f280c8ad51f981"
+ "reference": "e70aa8b064c5b72d3df2abd5ab1e90464ad009de"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/d87d5766cbf48d72388a9f6b85f280c8ad51f981",
- "reference": "d87d5766cbf48d72388a9f6b85f280c8ad51f981",
+ "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/e70aa8b064c5b72d3df2abd5ab1e90464ad009de",
+ "reference": "e70aa8b064c5b72d3df2abd5ab1e90464ad009de",
"shasum": ""
},
"require": {
- "php": ">=7.0.8"
+ "php": ">=7.1"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "1.18-dev"
+ "dev-main": "1.20-dev"
},
"thanks": {
"name": "symfony/polyfill",
@@ -4197,20 +4696,34 @@
"portable",
"shim"
],
- "time": "2020-07-14T12:35:20+00:00"
+ "funding": [
+ {
+ "url": "https://symfony.com/sponsor",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/fabpot",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2020-10-23T14:02:19+00:00"
},
{
"name": "symfony/process",
- "version": "v5.1.7",
+ "version": "v5.2.1",
"source": {
"type": "git",
"url": "https://github.com/symfony/process.git",
- "reference": "d3a2e64866169586502f0cd9cab69135ad12cee9"
+ "reference": "bd8815b8b6705298beaa384f04fabd459c10bedd"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/process/zipball/d3a2e64866169586502f0cd9cab69135ad12cee9",
- "reference": "d3a2e64866169586502f0cd9cab69135ad12cee9",
+ "url": "https://api.github.com/repos/symfony/process/zipball/bd8815b8b6705298beaa384f04fabd459c10bedd",
+ "reference": "bd8815b8b6705298beaa384f04fabd459c10bedd",
"shasum": ""
},
"require": {
@@ -4218,11 +4731,6 @@
"symfony/polyfill-php80": "^1.15"
},
"type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "5.1-dev"
- }
- },
"autoload": {
"psr-4": {
"Symfony\\Component\\Process\\": ""
@@ -4261,20 +4769,20 @@
"type": "tidelift"
}
],
- "time": "2020-09-02T16:23:27+00:00"
+ "time": "2020-12-08T17:03:37+00:00"
},
{
"name": "symfony/routing",
- "version": "v5.1.7",
+ "version": "v5.2.1",
"source": {
"type": "git",
"url": "https://github.com/symfony/routing.git",
- "reference": "720348c2ae011f8c56964c0fc3e992840cb60ccf"
+ "reference": "934ac2720dcc878a47a45c986b483a7ee7193620"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/routing/zipball/720348c2ae011f8c56964c0fc3e992840cb60ccf",
- "reference": "720348c2ae011f8c56964c0fc3e992840cb60ccf",
+ "url": "https://api.github.com/repos/symfony/routing/zipball/934ac2720dcc878a47a45c986b483a7ee7193620",
+ "reference": "934ac2720dcc878a47a45c986b483a7ee7193620",
"shasum": ""
},
"require": {
@@ -4288,7 +4796,7 @@
"symfony/yaml": "<4.4"
},
"require-dev": {
- "doctrine/annotations": "~1.2",
+ "doctrine/annotations": "^1.7",
"psr/log": "~1.0",
"symfony/config": "^5.0",
"symfony/dependency-injection": "^4.4|^5.0",
@@ -4304,11 +4812,6 @@
"symfony/yaml": "For using the YAML loader"
},
"type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "5.1-dev"
- }
- },
"autoload": {
"psr-4": {
"Symfony\\Component\\Routing\\": ""
@@ -4353,7 +4856,7 @@
"type": "tidelift"
}
],
- "time": "2020-10-02T13:05:43+00:00"
+ "time": "2020-12-08T17:03:37+00:00"
},
{
"name": "symfony/service-contracts",
@@ -4419,16 +4922,16 @@
},
{
"name": "symfony/string",
- "version": "v5.1.7",
+ "version": "v5.2.1",
"source": {
"type": "git",
"url": "https://github.com/symfony/string.git",
- "reference": "4a9afe9d07bac506f75bcee8ed3ce76da5a9343e"
+ "reference": "5bd67751d2e3f7d6f770c9154b8fbcb2aa05f7ed"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/string/zipball/4a9afe9d07bac506f75bcee8ed3ce76da5a9343e",
- "reference": "4a9afe9d07bac506f75bcee8ed3ce76da5a9343e",
+ "url": "https://api.github.com/repos/symfony/string/zipball/5bd67751d2e3f7d6f770c9154b8fbcb2aa05f7ed",
+ "reference": "5bd67751d2e3f7d6f770c9154b8fbcb2aa05f7ed",
"shasum": ""
},
"require": {
@@ -4446,11 +4949,6 @@
"symfony/var-exporter": "^4.4|^5.0"
},
"type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "5.1-dev"
- }
- },
"autoload": {
"psr-4": {
"Symfony\\Component\\String\\": ""
@@ -4500,27 +4998,27 @@
"type": "tidelift"
}
],
- "time": "2020-09-15T12:23:47+00:00"
+ "time": "2020-12-05T07:33:16+00:00"
},
{
"name": "symfony/translation",
- "version": "v5.1.7",
+ "version": "v5.2.1",
"source": {
"type": "git",
"url": "https://github.com/symfony/translation.git",
- "reference": "e3cdd5119b1b5bf0698c351b8ee20fb5a4ea248b"
+ "reference": "a04209ba0d1391c828e5b2373181dac63c52ee70"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/translation/zipball/e3cdd5119b1b5bf0698c351b8ee20fb5a4ea248b",
- "reference": "e3cdd5119b1b5bf0698c351b8ee20fb5a4ea248b",
+ "url": "https://api.github.com/repos/symfony/translation/zipball/a04209ba0d1391c828e5b2373181dac63c52ee70",
+ "reference": "a04209ba0d1391c828e5b2373181dac63c52ee70",
"shasum": ""
},
"require": {
"php": ">=7.2.5",
"symfony/polyfill-mbstring": "~1.0",
"symfony/polyfill-php80": "^1.15",
- "symfony/translation-contracts": "^2"
+ "symfony/translation-contracts": "^2.3"
},
"conflict": {
"symfony/config": "<4.4",
@@ -4549,12 +5047,10 @@
"symfony/yaml": ""
},
"type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "5.1-dev"
- }
- },
"autoload": {
+ "files": [
+ "Resources/functions.php"
+ ],
"psr-4": {
"Symfony\\Component\\Translation\\": ""
},
@@ -4592,7 +5088,7 @@
"type": "tidelift"
}
],
- "time": "2020-09-27T03:44:28+00:00"
+ "time": "2020-12-08T17:03:37+00:00"
},
{
"name": "symfony/translation-contracts",
@@ -4671,16 +5167,16 @@
},
{
"name": "symfony/var-dumper",
- "version": "v5.1.7",
+ "version": "v5.2.1",
"source": {
"type": "git",
"url": "https://github.com/symfony/var-dumper.git",
- "reference": "c976c115a0d788808f7e71834c8eb0844f678d02"
+ "reference": "13e7e882eaa55863faa7c4ad7c60f12f1a8b5089"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/var-dumper/zipball/c976c115a0d788808f7e71834c8eb0844f678d02",
- "reference": "c976c115a0d788808f7e71834c8eb0844f678d02",
+ "url": "https://api.github.com/repos/symfony/var-dumper/zipball/13e7e882eaa55863faa7c4ad7c60f12f1a8b5089",
+ "reference": "13e7e882eaa55863faa7c4ad7c60f12f1a8b5089",
"shasum": ""
},
"require": {
@@ -4707,11 +5203,6 @@
"Resources/bin/var-dump-server"
],
"type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "5.1-dev"
- }
- },
"autoload": {
"files": [
"Resources/functions/dump.php"
@@ -4757,7 +5248,7 @@
"type": "tidelift"
}
],
- "time": "2020-09-18T14:27:32+00:00"
+ "time": "2020-12-16T17:02:19+00:00"
},
{
"name": "thujohn/twitter",
@@ -4826,6 +5317,7 @@
"type": "github"
}
],
+ "abandoned": "atymic/twitter",
"time": "2020-09-09T00:05:36+00:00"
},
{
@@ -4877,6 +5369,86 @@
"homepage": "https://github.com/tijsverkoyen/CssToInlineStyles",
"time": "2020-07-13T06:12:54+00:00"
},
+ {
+ "name": "tymon/jwt-auth",
+ "version": "1.0.2",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/tymondesigns/jwt-auth.git",
+ "reference": "e588cb719539366c0e2f6017f975379cb73e9680"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/tymondesigns/jwt-auth/zipball/e588cb719539366c0e2f6017f975379cb73e9680",
+ "reference": "e588cb719539366c0e2f6017f975379cb73e9680",
+ "shasum": ""
+ },
+ "require": {
+ "illuminate/auth": "^5.2|^6|^7|^8",
+ "illuminate/contracts": "^5.2|^6|^7|^8",
+ "illuminate/http": "^5.2|^6|^7|^8",
+ "illuminate/support": "^5.2|^6|^7|^8",
+ "lcobucci/jwt": "<3.4",
+ "namshi/jose": "^7.0",
+ "nesbot/carbon": "^1.0|^2.0",
+ "php": "^5.5.9|^7.0"
+ },
+ "require-dev": {
+ "illuminate/console": "^5.2|^6|^7|^8",
+ "illuminate/database": "^5.2|^6|^7|^8",
+ "illuminate/routing": "^5.2|^6|^7|^8",
+ "mockery/mockery": ">=0.9.9",
+ "phpunit/phpunit": "~4.8|~6.0"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-develop": "1.0-dev"
+ },
+ "laravel": {
+ "aliases": {
+ "JWTAuth": "Tymon\\JWTAuth\\Facades\\JWTAuth",
+ "JWTFactory": "Tymon\\JWTAuth\\Facades\\JWTFactory"
+ },
+ "providers": [
+ "Tymon\\JWTAuth\\Providers\\LaravelServiceProvider"
+ ]
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Tymon\\JWTAuth\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Sean Tymon",
+ "email": "tymon148@gmail.com",
+ "homepage": "https://tymon.xyz",
+ "role": "Developer"
+ }
+ ],
+ "description": "JSON Web Token Authentication for Laravel and Lumen",
+ "homepage": "https://github.com/tymondesigns/jwt-auth",
+ "keywords": [
+ "Authentication",
+ "JSON Web Token",
+ "auth",
+ "jwt",
+ "laravel"
+ ],
+ "funding": [
+ {
+ "url": "https://www.patreon.com/seantymon",
+ "type": "patreon"
+ }
+ ],
+ "time": "2020-11-27T12:32:42+00:00"
+ },
{
"name": "vlucas/phpdotenv",
"version": "v5.2.0",
@@ -4955,23 +5527,23 @@
},
{
"name": "voku/portable-ascii",
- "version": "1.5.3",
+ "version": "1.5.6",
"source": {
"type": "git",
"url": "https://github.com/voku/portable-ascii.git",
- "reference": "25bcbf01678930251fd572891447d9e318a6e2b8"
+ "reference": "80953678b19901e5165c56752d087fc11526017c"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/voku/portable-ascii/zipball/25bcbf01678930251fd572891447d9e318a6e2b8",
- "reference": "25bcbf01678930251fd572891447d9e318a6e2b8",
+ "url": "https://api.github.com/repos/voku/portable-ascii/zipball/80953678b19901e5165c56752d087fc11526017c",
+ "reference": "80953678b19901e5165c56752d087fc11526017c",
"shasum": ""
},
"require": {
"php": ">=7.0.0"
},
"require-dev": {
- "phpunit/phpunit": "~6.0 || ~7.0"
+ "phpunit/phpunit": "~6.0 || ~7.0 || ~9.0"
},
"suggest": {
"ext-intl": "Use Intl for transliterator_transliterate() support"
@@ -5021,45 +5593,37 @@
"type": "tidelift"
}
],
- "time": "2020-07-22T23:32:04+00:00"
- }
- ],
- "packages-dev": [
+ "time": "2020-11-12T00:07:28+00:00"
+ },
{
- "name": "doctrine/instantiator",
- "version": "1.3.1",
+ "name": "webmozart/assert",
+ "version": "1.9.1",
"source": {
"type": "git",
- "url": "https://github.com/doctrine/instantiator.git",
- "reference": "f350df0268e904597e3bd9c4685c53e0e333feea"
+ "url": "https://github.com/webmozart/assert.git",
+ "reference": "bafc69caeb4d49c39fd0779086c03a3738cbb389"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/doctrine/instantiator/zipball/f350df0268e904597e3bd9c4685c53e0e333feea",
- "reference": "f350df0268e904597e3bd9c4685c53e0e333feea",
+ "url": "https://api.github.com/repos/webmozart/assert/zipball/bafc69caeb4d49c39fd0779086c03a3738cbb389",
+ "reference": "bafc69caeb4d49c39fd0779086c03a3738cbb389",
"shasum": ""
},
"require": {
- "php": "^7.1 || ^8.0"
+ "php": "^5.3.3 || ^7.0 || ^8.0",
+ "symfony/polyfill-ctype": "^1.8"
+ },
+ "conflict": {
+ "phpstan/phpstan": "<0.12.20",
+ "vimeo/psalm": "<3.9.1"
},
"require-dev": {
- "doctrine/coding-standard": "^6.0",
- "ext-pdo": "*",
- "ext-phar": "*",
- "phpbench/phpbench": "^0.13",
- "phpstan/phpstan-phpunit": "^0.11",
- "phpstan/phpstan-shim": "^0.11",
- "phpunit/phpunit": "^7.0"
+ "phpunit/phpunit": "^4.8.36 || ^7.5.13"
},
"type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.2.x-dev"
- }
- },
"autoload": {
"psr-4": {
- "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/"
+ "Webmozart\\Assert\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
@@ -5068,50 +5632,50 @@
],
"authors": [
{
- "name": "Marco Pivetta",
- "email": "ocramius@gmail.com",
- "homepage": "http://ocramius.github.com/"
+ "name": "Bernhard Schussek",
+ "email": "bschussek@gmail.com"
}
],
- "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors",
- "homepage": "https://www.doctrine-project.org/projects/instantiator.html",
+ "description": "Assertions to validate method input/output with nice error messages.",
"keywords": [
- "constructor",
- "instantiate"
+ "assert",
+ "check",
+ "validate"
],
- "time": "2020-05-29T17:27:14+00:00"
- },
+ "time": "2020-07-08T17:02:28+00:00"
+ }
+ ],
+ "packages-dev": [
{
- "name": "fzaninotto/faker",
- "version": "v1.9.1",
+ "name": "doctrine/instantiator",
+ "version": "1.4.0",
"source": {
"type": "git",
- "url": "https://github.com/fzaninotto/Faker.git",
- "reference": "fc10d778e4b84d5bd315dad194661e091d307c6f"
+ "url": "https://github.com/doctrine/instantiator.git",
+ "reference": "d56bf6102915de5702778fe20f2de3b2fe570b5b"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/fzaninotto/Faker/zipball/fc10d778e4b84d5bd315dad194661e091d307c6f",
- "reference": "fc10d778e4b84d5bd315dad194661e091d307c6f",
+ "url": "https://api.github.com/repos/doctrine/instantiator/zipball/d56bf6102915de5702778fe20f2de3b2fe570b5b",
+ "reference": "d56bf6102915de5702778fe20f2de3b2fe570b5b",
"shasum": ""
},
"require": {
- "php": "^5.3.3 || ^7.0"
+ "php": "^7.1 || ^8.0"
},
"require-dev": {
- "ext-intl": "*",
- "phpunit/phpunit": "^4.8.35 || ^5.7",
- "squizlabs/php_codesniffer": "^2.9.2"
+ "doctrine/coding-standard": "^8.0",
+ "ext-pdo": "*",
+ "ext-phar": "*",
+ "phpbench/phpbench": "^0.13 || 1.0.0-alpha2",
+ "phpstan/phpstan": "^0.12",
+ "phpstan/phpstan-phpunit": "^0.12",
+ "phpunit/phpunit": "^7.0 || ^8.0 || ^9.0"
},
"type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.9-dev"
- }
- },
"autoload": {
"psr-4": {
- "Faker\\": "src/Faker/"
+ "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/"
}
},
"notification-url": "https://packagist.org/downloads/",
@@ -5120,16 +5684,32 @@
],
"authors": [
{
- "name": "François Zaninotto"
+ "name": "Marco Pivetta",
+ "email": "ocramius@gmail.com",
+ "homepage": "https://ocramius.github.io/"
}
],
- "description": "Faker is a PHP library that generates fake data for you.",
+ "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors",
+ "homepage": "https://www.doctrine-project.org/projects/instantiator.html",
"keywords": [
- "data",
- "faker",
- "fixtures"
+ "constructor",
+ "instantiate"
+ ],
+ "funding": [
+ {
+ "url": "https://www.doctrine-project.org/sponsorship.html",
+ "type": "custom"
+ },
+ {
+ "url": "https://www.patreon.com/phpdoctrine",
+ "type": "patreon"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/doctrine%2Finstantiator",
+ "type": "tidelift"
+ }
],
- "time": "2019-12-12T13:22:17+00:00"
+ "time": "2020-11-10T18:47:58+00:00"
},
{
"name": "hamcrest/hamcrest-php",
@@ -5248,16 +5828,16 @@
},
{
"name": "myclabs/deep-copy",
- "version": "1.10.1",
+ "version": "1.10.2",
"source": {
"type": "git",
"url": "https://github.com/myclabs/DeepCopy.git",
- "reference": "969b211f9a51aa1f6c01d1d2aef56d3bd91598e5"
+ "reference": "776f831124e9c62e1a2c601ecc52e776d8bb7220"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/969b211f9a51aa1f6c01d1d2aef56d3bd91598e5",
- "reference": "969b211f9a51aa1f6c01d1d2aef56d3bd91598e5",
+ "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/776f831124e9c62e1a2c601ecc52e776d8bb7220",
+ "reference": "776f831124e9c62e1a2c601ecc52e776d8bb7220",
"shasum": ""
},
"require": {
@@ -5292,26 +5872,32 @@
"object",
"object graph"
],
- "time": "2020-06-29T13:22:24+00:00"
+ "funding": [
+ {
+ "url": "https://tidelift.com/funding/github/packagist/myclabs/deep-copy",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2020-11-13T09:40:50+00:00"
},
{
"name": "nunomaduro/collision",
- "version": "v5.0.2",
+ "version": "v5.1.0",
"source": {
"type": "git",
"url": "https://github.com/nunomaduro/collision.git",
- "reference": "4a343299054e9368d0db4a982a780cc4ffa12707"
+ "reference": "7c2b95589bf81e274e61e47f7672a1b2c3e06eaa"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/nunomaduro/collision/zipball/4a343299054e9368d0db4a982a780cc4ffa12707",
- "reference": "4a343299054e9368d0db4a982a780cc4ffa12707",
+ "url": "https://api.github.com/repos/nunomaduro/collision/zipball/7c2b95589bf81e274e61e47f7672a1b2c3e06eaa",
+ "reference": "7c2b95589bf81e274e61e47f7672a1b2c3e06eaa",
"shasum": ""
},
"require": {
"facade/ignition-contracts": "^1.0",
"filp/whoops": "^2.7.2",
- "php": "^7.3",
+ "php": "^7.3 || ^8.0",
"symfony/console": "^5.0"
},
"require-dev": {
@@ -5376,7 +5962,7 @@
"type": "patreon"
}
],
- "time": "2020-08-27T18:58:22+00:00"
+ "time": "2020-10-29T14:50:40+00:00"
},
{
"name": "phar-io/manifest",
@@ -5436,16 +6022,16 @@
},
{
"name": "phar-io/version",
- "version": "3.0.2",
+ "version": "3.0.4",
"source": {
"type": "git",
"url": "https://github.com/phar-io/version.git",
- "reference": "c6bb6825def89e0a32220f88337f8ceaf1975fa0"
+ "reference": "e4782611070e50613683d2b9a57730e9a3ba5451"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/phar-io/version/zipball/c6bb6825def89e0a32220f88337f8ceaf1975fa0",
- "reference": "c6bb6825def89e0a32220f88337f8ceaf1975fa0",
+ "url": "https://api.github.com/repos/phar-io/version/zipball/e4782611070e50613683d2b9a57730e9a3ba5451",
+ "reference": "e4782611070e50613683d2b9a57730e9a3ba5451",
"shasum": ""
},
"require": {
@@ -5479,7 +6065,7 @@
}
],
"description": "Library for handling version information and constraints",
- "time": "2020-06-27T14:39:04+00:00"
+ "time": "2020-12-13T23:18:30+00:00"
},
{
"name": "phpdocumentor/reflection-common",
@@ -5629,16 +6215,16 @@
},
{
"name": "phpspec/prophecy",
- "version": "1.12.1",
+ "version": "1.12.2",
"source": {
"type": "git",
"url": "https://github.com/phpspec/prophecy.git",
- "reference": "8ce87516be71aae9b956f81906aaf0338e0d8a2d"
+ "reference": "245710e971a030f42e08f4912863805570f23d39"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/phpspec/prophecy/zipball/8ce87516be71aae9b956f81906aaf0338e0d8a2d",
- "reference": "8ce87516be71aae9b956f81906aaf0338e0d8a2d",
+ "url": "https://api.github.com/repos/phpspec/prophecy/zipball/245710e971a030f42e08f4912863805570f23d39",
+ "reference": "245710e971a030f42e08f4912863805570f23d39",
"shasum": ""
},
"require": {
@@ -5650,7 +6236,7 @@
},
"require-dev": {
"phpspec/phpspec": "^6.0",
- "phpunit/phpunit": "^8.0 || ^9.0 <9.3"
+ "phpunit/phpunit": "^8.0 || ^9.0"
},
"type": "library",
"extra": {
@@ -5688,34 +6274,34 @@
"spy",
"stub"
],
- "time": "2020-09-29T09:10:42+00:00"
+ "time": "2020-12-19T10:15:11+00:00"
},
{
"name": "phpunit/php-code-coverage",
- "version": "9.2.0",
+ "version": "9.2.5",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/php-code-coverage.git",
- "reference": "53a4b737e83be724efd2bc4e7b929b9a30c48972"
+ "reference": "f3e026641cc91909d421802dd3ac7827ebfd97e1"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/53a4b737e83be724efd2bc4e7b929b9a30c48972",
- "reference": "53a4b737e83be724efd2bc4e7b929b9a30c48972",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/f3e026641cc91909d421802dd3ac7827ebfd97e1",
+ "reference": "f3e026641cc91909d421802dd3ac7827ebfd97e1",
"shasum": ""
},
"require": {
"ext-dom": "*",
"ext-libxml": "*",
"ext-xmlwriter": "*",
- "nikic/php-parser": "^4.8",
+ "nikic/php-parser": "^4.10.2",
"php": ">=7.3",
"phpunit/php-file-iterator": "^3.0.3",
"phpunit/php-text-template": "^2.0.2",
"sebastian/code-unit-reverse-lookup": "^2.0.2",
"sebastian/complexity": "^2.0",
"sebastian/environment": "^5.1.2",
- "sebastian/lines-of-code": "^1.0",
+ "sebastian/lines-of-code": "^1.0.3",
"sebastian/version": "^3.0.1",
"theseer/tokenizer": "^1.2.0"
},
@@ -5761,7 +6347,7 @@
"type": "github"
}
],
- "time": "2020-10-02T03:37:32+00:00"
+ "time": "2020-11-28T06:44:49+00:00"
},
{
"name": "phpunit/php-file-iterator",
@@ -5880,16 +6466,16 @@
},
{
"name": "phpunit/php-text-template",
- "version": "2.0.3",
+ "version": "2.0.4",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/php-text-template.git",
- "reference": "18c887016e60e52477e54534956d7b47bc52cd84"
+ "reference": "5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/18c887016e60e52477e54534956d7b47bc52cd84",
- "reference": "18c887016e60e52477e54534956d7b47bc52cd84",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28",
+ "reference": "5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28",
"shasum": ""
},
"require": {
@@ -5931,20 +6517,20 @@
"type": "github"
}
],
- "time": "2020-09-28T06:03:05+00:00"
+ "time": "2020-10-26T05:33:50+00:00"
},
{
"name": "phpunit/php-timer",
- "version": "5.0.2",
+ "version": "5.0.3",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/php-timer.git",
- "reference": "c9ff14f493699e2f6adee9fd06a0245b276643b7"
+ "reference": "5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/c9ff14f493699e2f6adee9fd06a0245b276643b7",
- "reference": "c9ff14f493699e2f6adee9fd06a0245b276643b7",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2",
+ "reference": "5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2",
"shasum": ""
},
"require": {
@@ -5986,20 +6572,20 @@
"type": "github"
}
],
- "time": "2020-09-28T06:00:25+00:00"
+ "time": "2020-10-26T13:16:10+00:00"
},
{
"name": "phpunit/phpunit",
- "version": "9.4.2",
+ "version": "9.5.0",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/phpunit.git",
- "reference": "3866b2eeeed21b1b099c4bc0b7a1690ac6fd5baa"
+ "reference": "8e16c225d57c3d6808014df6b1dd7598d0a5bbbe"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/3866b2eeeed21b1b099c4bc0b7a1690ac6fd5baa",
- "reference": "3866b2eeeed21b1b099c4bc0b7a1690ac6fd5baa",
+ "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/8e16c225d57c3d6808014df6b1dd7598d0a5bbbe",
+ "reference": "8e16c225d57c3d6808014df6b1dd7598d0a5bbbe",
"shasum": ""
},
"require": {
@@ -6015,7 +6601,7 @@
"phar-io/version": "^3.0.2",
"php": ">=7.3",
"phpspec/prophecy": "^1.12.1",
- "phpunit/php-code-coverage": "^9.2",
+ "phpunit/php-code-coverage": "^9.2.3",
"phpunit/php-file-iterator": "^3.0.5",
"phpunit/php-invoker": "^3.1.1",
"phpunit/php-text-template": "^2.0.3",
@@ -6046,7 +6632,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "9.4-dev"
+ "dev-master": "9.5-dev"
}
},
"autoload": {
@@ -6085,7 +6671,7 @@
"type": "github"
}
],
- "time": "2020-10-19T09:23:29+00:00"
+ "time": "2020-12-04T05:05:53+00:00"
},
{
"name": "sebastian/cli-parser",
@@ -6141,16 +6727,16 @@
},
{
"name": "sebastian/code-unit",
- "version": "1.0.7",
+ "version": "1.0.8",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/code-unit.git",
- "reference": "59236be62b1bb9919e6d7f60b0b832dc05cef9ab"
+ "reference": "1fc9f64c0927627ef78ba436c9b17d967e68e120"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/code-unit/zipball/59236be62b1bb9919e6d7f60b0b832dc05cef9ab",
- "reference": "59236be62b1bb9919e6d7f60b0b832dc05cef9ab",
+ "url": "https://api.github.com/repos/sebastianbergmann/code-unit/zipball/1fc9f64c0927627ef78ba436c9b17d967e68e120",
+ "reference": "1fc9f64c0927627ef78ba436c9b17d967e68e120",
"shasum": ""
},
"require": {
@@ -6189,7 +6775,7 @@
"type": "github"
}
],
- "time": "2020-10-02T14:47:54+00:00"
+ "time": "2020-10-26T13:08:54+00:00"
},
{
"name": "sebastian/code-unit-reverse-lookup",
@@ -6244,16 +6830,16 @@
},
{
"name": "sebastian/comparator",
- "version": "4.0.5",
+ "version": "4.0.6",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/comparator.git",
- "reference": "7a8ff306445707539c1a6397372a982a1ec55120"
+ "reference": "55f4261989e546dc112258c7a75935a81a7ce382"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/7a8ff306445707539c1a6397372a982a1ec55120",
- "reference": "7a8ff306445707539c1a6397372a982a1ec55120",
+ "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/55f4261989e546dc112258c7a75935a81a7ce382",
+ "reference": "55f4261989e546dc112258c7a75935a81a7ce382",
"shasum": ""
},
"require": {
@@ -6310,20 +6896,20 @@
"type": "github"
}
],
- "time": "2020-09-30T06:47:25+00:00"
+ "time": "2020-10-26T15:49:45+00:00"
},
{
"name": "sebastian/complexity",
- "version": "2.0.1",
+ "version": "2.0.2",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/complexity.git",
- "reference": "ba8cc2da0c0bfbc813d03b56406734030c7f1eff"
+ "reference": "739b35e53379900cc9ac327b2147867b8b6efd88"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/ba8cc2da0c0bfbc813d03b56406734030c7f1eff",
- "reference": "ba8cc2da0c0bfbc813d03b56406734030c7f1eff",
+ "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/739b35e53379900cc9ac327b2147867b8b6efd88",
+ "reference": "739b35e53379900cc9ac327b2147867b8b6efd88",
"shasum": ""
},
"require": {
@@ -6363,20 +6949,20 @@
"type": "github"
}
],
- "time": "2020-09-28T06:05:03+00:00"
+ "time": "2020-10-26T15:52:27+00:00"
},
{
"name": "sebastian/diff",
- "version": "4.0.3",
+ "version": "4.0.4",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/diff.git",
- "reference": "ffc949a1a2aae270ea064453d7535b82e4c32092"
+ "reference": "3461e3fccc7cfdfc2720be910d3bd73c69be590d"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/ffc949a1a2aae270ea064453d7535b82e4c32092",
- "reference": "ffc949a1a2aae270ea064453d7535b82e4c32092",
+ "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/3461e3fccc7cfdfc2720be910d3bd73c69be590d",
+ "reference": "3461e3fccc7cfdfc2720be910d3bd73c69be590d",
"shasum": ""
},
"require": {
@@ -6425,7 +7011,7 @@
"type": "github"
}
],
- "time": "2020-09-28T05:32:55+00:00"
+ "time": "2020-10-26T13:10:38+00:00"
},
{
"name": "sebastian/environment",
@@ -6561,16 +7147,16 @@
},
{
"name": "sebastian/global-state",
- "version": "5.0.1",
+ "version": "5.0.2",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/global-state.git",
- "reference": "ea779cb749a478b22a2564ac41cd7bda79c78dc7"
+ "reference": "a90ccbddffa067b51f574dea6eb25d5680839455"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/ea779cb749a478b22a2564ac41cd7bda79c78dc7",
- "reference": "ea779cb749a478b22a2564ac41cd7bda79c78dc7",
+ "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/a90ccbddffa067b51f574dea6eb25d5680839455",
+ "reference": "a90ccbddffa067b51f574dea6eb25d5680839455",
"shasum": ""
},
"require": {
@@ -6617,20 +7203,20 @@
"type": "github"
}
],
- "time": "2020-09-28T05:54:06+00:00"
+ "time": "2020-10-26T15:55:19+00:00"
},
{
"name": "sebastian/lines-of-code",
- "version": "1.0.1",
+ "version": "1.0.3",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/lines-of-code.git",
- "reference": "6514b8f21906b8b46f520d1fbd17a4523fa59a54"
+ "reference": "c1c2e997aa3146983ed888ad08b15470a2e22ecc"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/6514b8f21906b8b46f520d1fbd17a4523fa59a54",
- "reference": "6514b8f21906b8b46f520d1fbd17a4523fa59a54",
+ "url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/c1c2e997aa3146983ed888ad08b15470a2e22ecc",
+ "reference": "c1c2e997aa3146983ed888ad08b15470a2e22ecc",
"shasum": ""
},
"require": {
@@ -6670,20 +7256,20 @@
"type": "github"
}
],
- "time": "2020-09-28T06:07:27+00:00"
+ "time": "2020-11-28T06:42:11+00:00"
},
{
"name": "sebastian/object-enumerator",
- "version": "4.0.3",
+ "version": "4.0.4",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/object-enumerator.git",
- "reference": "f6f5957013d84725427d361507e13513702888a4"
+ "reference": "5c9eeac41b290a3712d88851518825ad78f45c71"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/f6f5957013d84725427d361507e13513702888a4",
- "reference": "f6f5957013d84725427d361507e13513702888a4",
+ "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/5c9eeac41b290a3712d88851518825ad78f45c71",
+ "reference": "5c9eeac41b290a3712d88851518825ad78f45c71",
"shasum": ""
},
"require": {
@@ -6723,20 +7309,20 @@
"type": "github"
}
],
- "time": "2020-09-28T05:55:06+00:00"
+ "time": "2020-10-26T13:12:34+00:00"
},
{
"name": "sebastian/object-reflector",
- "version": "2.0.3",
+ "version": "2.0.4",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/object-reflector.git",
- "reference": "d9d0ab3b12acb1768bc1e0a89b23c90d2043cbe5"
+ "reference": "b4f479ebdbf63ac605d183ece17d8d7fe49c15c7"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/d9d0ab3b12acb1768bc1e0a89b23c90d2043cbe5",
- "reference": "d9d0ab3b12acb1768bc1e0a89b23c90d2043cbe5",
+ "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/b4f479ebdbf63ac605d183ece17d8d7fe49c15c7",
+ "reference": "b4f479ebdbf63ac605d183ece17d8d7fe49c15c7",
"shasum": ""
},
"require": {
@@ -6774,20 +7360,20 @@
"type": "github"
}
],
- "time": "2020-09-28T05:56:16+00:00"
+ "time": "2020-10-26T13:14:26+00:00"
},
{
"name": "sebastian/recursion-context",
- "version": "4.0.3",
+ "version": "4.0.4",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/recursion-context.git",
- "reference": "ed8c9cd355089134bc9cba421b5cfdd58f0eaef7"
+ "reference": "cd9d8cf3c5804de4341c283ed787f099f5506172"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/ed8c9cd355089134bc9cba421b5cfdd58f0eaef7",
- "reference": "ed8c9cd355089134bc9cba421b5cfdd58f0eaef7",
+ "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/cd9d8cf3c5804de4341c283ed787f099f5506172",
+ "reference": "cd9d8cf3c5804de4341c283ed787f099f5506172",
"shasum": ""
},
"require": {
@@ -6833,7 +7419,7 @@
"type": "github"
}
],
- "time": "2020-09-28T05:17:32+00:00"
+ "time": "2020-10-26T13:17:30+00:00"
},
{
"name": "sebastian/resource-operations",
@@ -6888,16 +7474,16 @@
},
{
"name": "sebastian/type",
- "version": "2.3.0",
+ "version": "2.3.1",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/type.git",
- "reference": "fa592377f3923946cb90bf1f6a71ba2e5f229909"
+ "reference": "81cd61ab7bbf2de744aba0ea61fae32f721df3d2"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/fa592377f3923946cb90bf1f6a71ba2e5f229909",
- "reference": "fa592377f3923946cb90bf1f6a71ba2e5f229909",
+ "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/81cd61ab7bbf2de744aba0ea61fae32f721df3d2",
+ "reference": "81cd61ab7bbf2de744aba0ea61fae32f721df3d2",
"shasum": ""
},
"require": {
@@ -6936,7 +7522,7 @@
"type": "github"
}
],
- "time": "2020-10-06T08:41:03+00:00"
+ "time": "2020-10-26T13:18:59+00:00"
},
{
"name": "sebastian/version",
@@ -7025,56 +7611,13 @@
}
],
"description": "A small library for converting tokenized PHP source code into XML and potentially other formats",
- "time": "2020-07-12T23:59:07+00:00"
- },
- {
- "name": "webmozart/assert",
- "version": "1.9.1",
- "source": {
- "type": "git",
- "url": "https://github.com/webmozart/assert.git",
- "reference": "bafc69caeb4d49c39fd0779086c03a3738cbb389"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/webmozart/assert/zipball/bafc69caeb4d49c39fd0779086c03a3738cbb389",
- "reference": "bafc69caeb4d49c39fd0779086c03a3738cbb389",
- "shasum": ""
- },
- "require": {
- "php": "^5.3.3 || ^7.0 || ^8.0",
- "symfony/polyfill-ctype": "^1.8"
- },
- "conflict": {
- "phpstan/phpstan": "<0.12.20",
- "vimeo/psalm": "<3.9.1"
- },
- "require-dev": {
- "phpunit/phpunit": "^4.8.36 || ^7.5.13"
- },
- "type": "library",
- "autoload": {
- "psr-4": {
- "Webmozart\\Assert\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
+ "funding": [
{
- "name": "Bernhard Schussek",
- "email": "bschussek@gmail.com"
+ "url": "https://github.com/theseer",
+ "type": "github"
}
],
- "description": "Assertions to validate method input/output with nice error messages.",
- "keywords": [
- "assert",
- "check",
- "validate"
- ],
- "time": "2020-07-08T17:02:28+00:00"
+ "time": "2020-07-12T23:59:07+00:00"
}
],
"aliases": [],
diff --git a/config/app.php b/config/app.php
index 57a19f9..0b1586a 100644
--- a/config/app.php
+++ b/config/app.php
@@ -24,7 +24,7 @@
|
*/
- 'viv' => env('APP_VIV', '5.4.0'),
+ 'viv' => env('APP_VIV', '6.0.0-alpha.3'),
/*
|--------------------------------------------------------------------------
diff --git a/config/auth.php b/config/auth.php
index 7817501..321aee8 100644
--- a/config/auth.php
+++ b/config/auth.php
@@ -42,7 +42,7 @@
],
'api' => [
- 'driver' => 'token',
+ 'driver' => 'jwt',
'provider' => 'users',
],
],
diff --git a/config/filesystems.php b/config/filesystems.php
index 77fa5de..af32c3c 100644
--- a/config/filesystems.php
+++ b/config/filesystems.php
@@ -13,7 +13,7 @@
|
*/
- 'default' => env('FILESYSTEM_DRIVER', 'local'),
+ 'default' => env('FILESYSTEM_DRIVER', 'public'),
/*
|--------------------------------------------------------------------------
diff --git a/config/jwt.php b/config/jwt.php
new file mode 100644
index 0000000..8b7843b
--- /dev/null
+++ b/config/jwt.php
@@ -0,0 +1,304 @@
+
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+return [
+
+ /*
+ |--------------------------------------------------------------------------
+ | JWT Authentication Secret
+ |--------------------------------------------------------------------------
+ |
+ | Don't forget to set this in your .env file, as it will be used to sign
+ | your tokens. A helper command is provided for this:
+ | `php artisan jwt:secret`
+ |
+ | Note: This will be used for Symmetric algorithms only (HMAC),
+ | since RSA and ECDSA use a private/public key combo (See below).
+ |
+ */
+
+ 'secret' => env('JWT_SECRET'),
+
+ /*
+ |--------------------------------------------------------------------------
+ | JWT Authentication Keys
+ |--------------------------------------------------------------------------
+ |
+ | The algorithm you are using, will determine whether your tokens are
+ | signed with a random string (defined in `JWT_SECRET`) or using the
+ | following public & private keys.
+ |
+ | Symmetric Algorithms:
+ | HS256, HS384 & HS512 will use `JWT_SECRET`.
+ |
+ | Asymmetric Algorithms:
+ | RS256, RS384 & RS512 / ES256, ES384 & ES512 will use the keys below.
+ |
+ */
+
+ 'keys' => [
+
+ /*
+ |--------------------------------------------------------------------------
+ | Public Key
+ |--------------------------------------------------------------------------
+ |
+ | A path or resource to your public key.
+ |
+ | E.g. 'file://path/to/public/key'
+ |
+ */
+
+ 'public' => env('JWT_PUBLIC_KEY'),
+
+ /*
+ |--------------------------------------------------------------------------
+ | Private Key
+ |--------------------------------------------------------------------------
+ |
+ | A path or resource to your private key.
+ |
+ | E.g. 'file://path/to/private/key'
+ |
+ */
+
+ 'private' => env('JWT_PRIVATE_KEY'),
+
+ /*
+ |--------------------------------------------------------------------------
+ | Passphrase
+ |--------------------------------------------------------------------------
+ |
+ | The passphrase for your private key. Can be null if none set.
+ |
+ */
+
+ 'passphrase' => env('JWT_PASSPHRASE'),
+
+ ],
+
+ /*
+ |--------------------------------------------------------------------------
+ | JWT time to live
+ |--------------------------------------------------------------------------
+ |
+ | Specify the length of time (in minutes) that the token will be valid for.
+ | Defaults to 1 hour.
+ |
+ | You can also set this to null, to yield a never expiring token.
+ | Some people may want this behaviour for e.g. a mobile app.
+ | This is not particularly recommended, so make sure you have appropriate
+ | systems in place to revoke the token if necessary.
+ | Notice: If you set this to null you should remove 'exp' element from 'required_claims' list.
+ |
+ */
+
+ 'ttl' => env('JWT_TTL', 60),
+
+ /*
+ |--------------------------------------------------------------------------
+ | Refresh time to live
+ |--------------------------------------------------------------------------
+ |
+ | Specify the length of time (in minutes) that the token can be refreshed
+ | within. I.E. The user can refresh their token within a 2 week window of
+ | the original token being created until they must re-authenticate.
+ | Defaults to 2 weeks.
+ |
+ | You can also set this to null, to yield an infinite refresh time.
+ | Some may want this instead of never expiring tokens for e.g. a mobile app.
+ | This is not particularly recommended, so make sure you have appropriate
+ | systems in place to revoke the token if necessary.
+ |
+ */
+
+ 'refresh_ttl' => env('JWT_REFRESH_TTL', 20160),
+
+ /*
+ |--------------------------------------------------------------------------
+ | JWT hashing algorithm
+ |--------------------------------------------------------------------------
+ |
+ | Specify the hashing algorithm that will be used to sign the token.
+ |
+ | See here: https://github.com/namshi/jose/tree/master/src/Namshi/JOSE/Signer/OpenSSL
+ | for possible values.
+ |
+ */
+
+ 'algo' => env('JWT_ALGO', 'HS256'),
+
+ /*
+ |--------------------------------------------------------------------------
+ | Required Claims
+ |--------------------------------------------------------------------------
+ |
+ | Specify the required claims that must exist in any token.
+ | A TokenInvalidException will be thrown if any of these claims are not
+ | present in the payload.
+ |
+ */
+
+ 'required_claims' => [
+ 'iss',
+ 'iat',
+ 'exp',
+ 'nbf',
+ 'sub',
+ 'jti',
+ ],
+
+ /*
+ |--------------------------------------------------------------------------
+ | Persistent Claims
+ |--------------------------------------------------------------------------
+ |
+ | Specify the claim keys to be persisted when refreshing a token.
+ | `sub` and `iat` will automatically be persisted, in
+ | addition to the these claims.
+ |
+ | Note: If a claim does not exist then it will be ignored.
+ |
+ */
+
+ 'persistent_claims' => [
+ // 'foo',
+ // 'bar',
+ ],
+
+ /*
+ |--------------------------------------------------------------------------
+ | Lock Subject
+ |--------------------------------------------------------------------------
+ |
+ | This will determine whether a `prv` claim is automatically added to
+ | the token. The purpose of this is to ensure that if you have multiple
+ | authentication models e.g. `App\User` & `App\OtherPerson`, then we
+ | should prevent one authentication request from impersonating another,
+ | if 2 tokens happen to have the same id across the 2 different models.
+ |
+ | Under specific circumstances, you may want to disable this behaviour
+ | e.g. if you only have one authentication model, then you would save
+ | a little on token size.
+ |
+ */
+
+ 'lock_subject' => true,
+
+ /*
+ |--------------------------------------------------------------------------
+ | Leeway
+ |--------------------------------------------------------------------------
+ |
+ | This property gives the jwt timestamp claims some "leeway".
+ | Meaning that if you have any unavoidable slight clock skew on
+ | any of your servers then this will afford you some level of cushioning.
+ |
+ | This applies to the claims `iat`, `nbf` and `exp`.
+ |
+ | Specify in seconds - only if you know you need it.
+ |
+ */
+
+ 'leeway' => env('JWT_LEEWAY', 0),
+
+ /*
+ |--------------------------------------------------------------------------
+ | Blacklist Enabled
+ |--------------------------------------------------------------------------
+ |
+ | In order to invalidate tokens, you must have the blacklist enabled.
+ | If you do not want or need this functionality, then set this to false.
+ |
+ */
+
+ 'blacklist_enabled' => env('JWT_BLACKLIST_ENABLED', true),
+
+ /*
+ | -------------------------------------------------------------------------
+ | Blacklist Grace Period
+ | -------------------------------------------------------------------------
+ |
+ | When multiple concurrent requests are made with the same JWT,
+ | it is possible that some of them fail, due to token regeneration
+ | on every request.
+ |
+ | Set grace period in seconds to prevent parallel request failure.
+ |
+ */
+
+ 'blacklist_grace_period' => env('JWT_BLACKLIST_GRACE_PERIOD', 0),
+
+ /*
+ |--------------------------------------------------------------------------
+ | Cookies encryption
+ |--------------------------------------------------------------------------
+ |
+ | By default Laravel encrypt cookies for security reason.
+ | If you decide to not decrypt cookies, you will have to configure Laravel
+ | to not encrypt your cookie token by adding its name into the $except
+ | array available in the middleware "EncryptCookies" provided by Laravel.
+ | see https://laravel.com/docs/master/responses#cookies-and-encryption
+ | for details.
+ |
+ | Set it to true if you want to decrypt cookies.
+ |
+ */
+
+ 'decrypt_cookies' => false,
+
+ /*
+ |--------------------------------------------------------------------------
+ | Providers
+ |--------------------------------------------------------------------------
+ |
+ | Specify the various providers used throughout the package.
+ |
+ */
+
+ 'providers' => [
+
+ /*
+ |--------------------------------------------------------------------------
+ | JWT Provider
+ |--------------------------------------------------------------------------
+ |
+ | Specify the provider that is used to create and decode the tokens.
+ |
+ */
+
+ 'jwt' => Tymon\JWTAuth\Providers\JWT\Lcobucci::class,
+
+ /*
+ |--------------------------------------------------------------------------
+ | Authentication Provider
+ |--------------------------------------------------------------------------
+ |
+ | Specify the provider that is used to authenticate users.
+ |
+ */
+
+ 'auth' => Tymon\JWTAuth\Providers\Auth\Illuminate::class,
+
+ /*
+ |--------------------------------------------------------------------------
+ | Storage Provider
+ |--------------------------------------------------------------------------
+ |
+ | Specify the provider that is used to store tokens in the blacklist.
+ |
+ */
+
+ 'storage' => Tymon\JWTAuth\Providers\Storage\Illuminate::class,
+
+ ],
+
+];
diff --git a/config/sluggable.php b/config/sluggable.php
new file mode 100644
index 0000000..0fcc227
--- /dev/null
+++ b/config/sluggable.php
@@ -0,0 +1,141 @@
+name;
+ *
+ * Or it can be an array of fields, like ["name", "company"], which builds a slug from:
+ *
+ * $model->name . ' ' . $model->company;
+ *
+ * If you've defined custom getters in your model, you can use those too,
+ * since Eloquent will call them when you request a custom attribute.
+ *
+ * Defaults to null, which uses the toString() method on your model.
+ */
+
+ 'source' => null,
+
+ /**
+ * The maximum length of a generated slug. Defaults to "null", which means
+ * no length restrictions are enforced. Set it to a positive integer if you
+ * want to make sure your slugs aren't too long.
+ */
+
+ 'maxLength' => null,
+
+ /**
+ * If you are setting a maximum length on your slugs, you may not want the
+ * truncated string to split a word in half. The default setting of "true"
+ * will ensure this, e.g. with a maxLength of 12:
+ *
+ * "my source string" -> "my-source"
+ *
+ * Setting it to "false" will simply truncate the generated slug at the
+ * desired length, e.g.:
+ *
+ * "my source string" -> "my-source-st"
+ */
+
+ 'maxLengthKeepWords' => true,
+
+ /**
+ * If left to "null", then use the cocur/slugify package to generate the slug
+ * (with the separator defined below).
+ *
+ * Set this to a closure that accepts two parameters (string and separator)
+ * to define a custom slugger. e.g.:
+ *
+ * 'method' => function( $string, $sep ) {
+ * return preg_replace('/[^a-z]+/i', $sep, $string);
+ * },
+ *
+ * Otherwise, this will be treated as a callable to be used. e.g.:
+ *
+ * 'method' => array('Str','slug'),
+ */
+
+ 'method' => null,
+
+ /**
+ * Separator to use when generating slugs. Defaults to a hyphen.
+ */
+
+ 'separator' => '-',
+
+ /**
+ * Enforce uniqueness of slugs? Defaults to true.
+ * If a generated slug already exists, an incremental numeric
+ * value will be appended to the end until a unique slug is found. e.g.:
+ *
+ * my-slug
+ * my-slug-1
+ * my-slug-2
+ */
+
+ 'unique' => true,
+
+ /**
+ * If you are enforcing unique slugs, the default is to add an
+ * incremental value to the end of the base slug. Alternatively, you
+ * can change this value to a closure that accepts three parameters:
+ * the base slug, the separator, and a Collection of the other
+ * "similar" slugs. The closure should return the new unique
+ * suffix to append to the slug.
+ */
+
+ 'uniqueSuffix' => null,
+
+ /**
+ * Should we include the trashed items when generating a unique slug?
+ * This only applies if the softDelete property is set for the Eloquent model.
+ * If set to "false", then a new slug could duplicate one that exists on a trashed model.
+ * If set to "true", then uniqueness is enforced across trashed and existing models.
+ */
+
+ 'includeTrashed' => false,
+
+ /**
+ * An array of slug names that can never be used for this model,
+ * e.g. to prevent collisions with existing routes or controller methods, etc..
+ * Defaults to null (i.e. no reserved names).
+ * Can be a static array, e.g.:
+ *
+ * 'reserved' => array('add', 'delete'),
+ *
+ * or a closure that returns an array of reserved names.
+ * If using a closure, it will accept one parameter: the model itself, and should
+ * return an array of reserved names, or null. e.g.
+ *
+ * 'reserved' => function( Model $model) {
+ * return $model->some_method_that_returns_an_array();
+ * }
+ *
+ * In the case of a slug that gets generated with one of these reserved names,
+ * we will do:
+ *
+ * $slug .= $separator + "1"
+ *
+ * and continue from there.
+ */
+
+ 'reserved' => null,
+
+ /**
+ * Whether to update the slug value when a model is being
+ * re-saved (i.e. already exists). Defaults to false, which
+ * means slugs are not updated.
+ *
+ * Be careful! If you are using slugs to generate URLs, then
+ * updating your slug automatically might change your URLs which
+ * is probably not a good idea from an SEO point of view.
+ * Only set this to true if you understand the possible consequences.
+ */
+
+ 'onUpdate' => true,
+
+];
diff --git a/database/migrations/2018_12_25_141716_create_milestones_table.php b/database/migrations/2018_12_25_141716_create_milestones_table.php
index 05e7dfc..74040db 100644
--- a/database/migrations/2018_12_25_141716_create_milestones_table.php
+++ b/database/migrations/2018_12_25_141716_create_milestones_table.php
@@ -18,7 +18,7 @@ public function up()
$table->string('osname');
$table->string('name');
$table->string('codename');
- $table->integer('version')->unsigned();
+ $table->string('version');
$table->string('color');
$table->text('description')->nullable();
$table->date('preview');
diff --git a/database/migrations/2019_12_10_212842_drop_milestone_fields.php b/database/migrations/2020_04_26_200426_drop_milestone_fields.php
similarity index 100%
rename from database/migrations/2019_12_10_212842_drop_milestone_fields.php
rename to database/migrations/2020_04_26_200426_drop_milestone_fields.php
diff --git a/database/migrations/2020_04_27_213532_create_roles_table.php b/database/migrations/2020_04_27_213532_create_roles_table.php
new file mode 100644
index 0000000..e4fbccb
--- /dev/null
+++ b/database/migrations/2020_04_27_213532_create_roles_table.php
@@ -0,0 +1,42 @@
+integer('is_default')->default(0)->after('description');
+ });
+
+ Schema::table('users', function (Blueprint $table) {
+ $table->string('onboarding')->nullable()->default(null)->after('email');
+ $table->foreignId('role_id')->after('email')->references('id')->on('roles');
+ });
+ }
+
+ /**
+ * Reverse the migrations.
+ *
+ * @return void
+ */
+ public function down()
+ {
+ Schema::table('roles', function (Blueprint $table) {
+ $table->dropForeign('is_default');
+ });
+
+ Schema::table('users', function (Blueprint $table) {
+ $table->dropForeign('users_role_id_foreign');
+ $table->dropColumn('role_id');
+ $table->dropColumn('onboarding');
+ });
+ }
+}
diff --git a/database/migrations/2020_04_27_213540_create_abilities_table.php b/database/migrations/2020_04_27_213540_create_abilities_table.php
new file mode 100644
index 0000000..6447d7b
--- /dev/null
+++ b/database/migrations/2020_04_27_213540_create_abilities_table.php
@@ -0,0 +1,38 @@
+id();
+ $table->string('name');
+ $table->string('label')->nullable();
+ $table->timestamps();
+ });
+
+ Schema::create('ability_role', function (Blueprint $table) {
+ $table->primary(['role_id', 'ability_id']);
+ $table->foreignId('role_id')->references('id')->on('roles')->onDelete('cascade');
+ $table->foreignId('ability_id')->references('id')->on('abilities')->onDelete('cascade');
+ $table->timestamps();
+ });
+ }
+
+ /**
+ * Reverse the migrations.
+ *
+ * @return void
+ */
+ public function down() {
+ Schema::dropIfExists('ability_role');
+ Schema::dropIfExists('abilities');
+ }
+}
diff --git a/database/migrations/2020_11_17_225347_add_user_avatar.php b/database/migrations/2020_11_17_225347_add_user_avatar.php
new file mode 100644
index 0000000..27a2002
--- /dev/null
+++ b/database/migrations/2020_11_17_225347_add_user_avatar.php
@@ -0,0 +1,32 @@
+string('avatar_path')->nullable()->after('email');
+ });
+ }
+
+ /**
+ * Reverse the migrations.
+ *
+ * @return void
+ */
+ public function down()
+ {
+ Schema::table('users', function (Blueprint $table) {
+ $table->dropColumn('avatar_path');
+ });
+ }
+}
diff --git a/database/migrations/2020_11_27_213905_add_milestone_meta_fields.php b/database/migrations/2020_11_27_213905_add_milestone_meta_fields.php
new file mode 100644
index 0000000..d9654bf
--- /dev/null
+++ b/database/migrations/2020_11_27_213905_add_milestone_meta_fields.php
@@ -0,0 +1,100 @@
+integer('start_build')->unsigned()->default(0)->after('color');
+
+ $table->dropColumn('isLts');
+ $table->dropColumn('pcSkip');
+ $table->dropColumn('pcFast');
+ $table->dropColumn('pcSlow');
+ $table->dropColumn('pcReleasePreview');
+ $table->dropColumn('pcTargeted');
+ $table->dropColumn('pcBroad');
+ $table->dropColumn('pcLTS');
+ $table->dropColumn('xboxSkip');
+ $table->dropColumn('xboxFast');
+ $table->dropColumn('xboxSlow');
+ $table->dropColumn('xboxPreview');
+ $table->dropColumn('xboxReleasePreview');
+ $table->dropColumn('xboxTargeted');
+ $table->dropColumn('serverSlow');
+ $table->dropColumn('serverTargeted');
+ $table->dropColumn('serverLTS');
+ $table->dropColumn('iotSlow');
+ $table->dropColumn('iotTargeted');
+ $table->dropColumn('iotBroad');
+ $table->dropColumn('teamFast');
+ $table->dropColumn('teamSlow');
+ $table->dropColumn('teamTargeted');
+ $table->dropColumn('teamBroad');
+ $table->dropColumn('holographicFast');
+ $table->dropColumn('holographicSlow');
+ $table->dropColumn('holographicTargeted');
+ $table->dropColumn('holographicBroad');
+ $table->dropColumn('holographicLTS');
+ $table->dropColumn('tenXSlow');
+ $table->dropColumn('sdk');
+ $table->dropColumn('iso');
+ });
+ }
+
+ /**
+ * Reverse the migrations.
+ *
+ * @return void
+ */
+ public function down()
+ {
+ Schema::table('milestones', function (Blueprint $table) {
+ $table->dropColumn('start_build');
+
+ $table->integer('isLts')->unsigned();
+ $table->integer('pcSkip')->unsigned();
+ $table->integer('pcFast')->unsigned();
+ $table->integer('pcSlow')->unsigned();
+ $table->integer('pcReleasePreview')->unsigned();
+ $table->integer('pcTargeted')->unsigned();
+ $table->integer('pcBroad')->unsigned();
+ $table->integer('pcLTS')->unsigned();
+ $table->integer('mobileFast')->unsigned();
+ $table->integer('mobileSlow')->unsigned();
+ $table->integer('mobileReleasePreview')->unsigned();
+ $table->integer('mobileTargeted')->unsigned();
+ $table->integer('mobileBroad')->unsigned();
+ $table->integer('xboxSkip')->unsigned();
+ $table->integer('xboxFast')->unsigned();
+ $table->integer('xboxSlow')->unsigned();
+ $table->integer('xboxPreview')->unsigned();
+ $table->integer('xboxReleasePreview')->unsigned();
+ $table->integer('xboxTargeted')->unsigned();
+ $table->integer('serverSlow')->unsigned();
+ $table->integer('serverTargeted')->unsigned();
+ $table->integer('serverLTS')->unsigned();
+ $table->integer('iotSlow')->unsigned();
+ $table->integer('iotTargeted')->unsigned();
+ $table->integer('iotBroad')->unsigned();
+ $table->integer('teamTargeted')->unsigned();
+ $table->integer('teamBroad')->unsigned();
+ $table->integer('holographicFast')->unsigned();
+ $table->integer('holographicSlow')->unsigned();
+ $table->integer('holographicTargeted')->unsigned();
+ $table->integer('holographicBroad')->unsigned();
+ $table->integer('holographicLTS')->unsigned();
+ $table->integer('sdk')->unsigned();
+ $table->integer('iso')->unsigned();
+ });
+ }
+}
diff --git a/database/migrations/2020_11_30_220342_create_platforms_table.php b/database/migrations/2020_11_30_220342_create_platforms_table.php
new file mode 100644
index 0000000..7bed955
--- /dev/null
+++ b/database/migrations/2020_11_30_220342_create_platforms_table.php
@@ -0,0 +1,45 @@
+id();
+ $table->string('name');
+ $table->string('color');
+ $table->string('icon');
+ $table->integer('position')->default(1);
+ $table->integer('active')->default(1);
+ $table->string('slug')->unique();
+ $table->timestamps();
+ });
+
+ Schema::create('milestone_platforms', function (Blueprint $table) {
+ $table->id();
+ $table->foreignId('platform_id')->references('id')->on('platforms');
+ $table->foreignId('milestone_id')->references('id')->on('milestones');
+ $table->timestamps();
+ });
+ }
+
+ /**
+ * Reverse the migrations.
+ *
+ * @return void
+ */
+ public function down()
+ {
+ Schema::dropIfExists('milestone_platforms');
+ Schema::dropIfExists('platforms');
+ }
+}
diff --git a/database/migrations/2020_12_01_200312_create_channels_table.php b/database/migrations/2020_12_01_200312_create_channels_table.php
new file mode 100644
index 0000000..c29bd58
--- /dev/null
+++ b/database/migrations/2020_12_01_200312_create_channels_table.php
@@ -0,0 +1,55 @@
+id();
+ $table->string('name');
+ $table->string('color');
+ $table->integer('position');
+ $table->string('slug')->unique();
+ $table->timestamps();
+ });
+
+ Schema::create('channel_platforms', function (Blueprint $table) {
+ $table->id();
+ $table->foreignId('platform_id')->references('id')->on('platforms');
+ $table->foreignId('channel_id')->references('id')->on('channels');
+ $table->string('name');
+ $table->string('short_name');
+ $table->integer('active')->default(1);
+ $table->timestamps();
+ });
+
+ Schema::create('channel_milestone_platforms', function (Blueprint $table) {
+ $table->id();
+ $table->foreignId('channel_platform_id')->references('id')->on('channel_platforms');
+ $table->foreignId('milestone_platform_id')->references('id')->on('milestone_platforms');
+ $table->integer('active')->required()->default(1);
+ $table->timestamps();
+ });
+ }
+
+ /**
+ * Reverse the migrations.
+ *
+ * @return void
+ */
+ public function down()
+ {
+ Schema::dropIfExists('channel_milestone_platforms');
+ Schema::dropIfExists('channel_platforms');
+ Schema::dropIfExists('channels');
+ }
+}
diff --git a/database/migrations/2020_12_22_212618_horizon_create_abilities_table.php b/database/migrations/2020_12_22_212618_horizon_create_abilities_table.php
new file mode 100644
index 0000000..e8d2b21
--- /dev/null
+++ b/database/migrations/2020_12_22_212618_horizon_create_abilities_table.php
@@ -0,0 +1,42 @@
+id();
+ $table->string('name')->required();
+ $table->string('description')->required();
+ $table->timestamps();
+ });
+
+ $abilities = Ability::all();
+
+ foreach ($abilities as $ability) {
+ HorizonAbility::create([
+ 'name' => $ability->name,
+ 'description' => $ability->label
+ ]);
+ }
+ }
+
+ /**
+ * Reverse the migrations.
+ *
+ * @return void
+ */
+ public function down() {
+ Schema::dropIfExists('h_abilities');
+ }
+}
diff --git a/database/migrations/2020_12_22_212634_horizon_create_roles_table.php b/database/migrations/2020_12_22_212634_horizon_create_roles_table.php
new file mode 100644
index 0000000..33ab640
--- /dev/null
+++ b/database/migrations/2020_12_22_212634_horizon_create_roles_table.php
@@ -0,0 +1,31 @@
+id();
+ $table->string('name')->default();
+ $table->string('description')->default();
+ $table->string('is_default')->required()->default(0);
+ $table->timestamps();
+ });
+ }
+
+ /**
+ * Reverse the migrations.
+ *
+ * @return void
+ */
+ public function down() {
+ Schema::dropIfExists('h_roles');
+ }
+}
diff --git a/database/migrations/2020_12_22_212644_horizon_create_role_abilities_table.php b/database/migrations/2020_12_22_212644_horizon_create_role_abilities_table.php
new file mode 100644
index 0000000..6bb56d6
--- /dev/null
+++ b/database/migrations/2020_12_22_212644_horizon_create_role_abilities_table.php
@@ -0,0 +1,50 @@
+primary(['role_id', 'ability_id']);
+ $table->foreignId('role_id')->constrained('h_roles')->onDelete('cascade');
+ $table->foreignId('ability_id')->constrained('h_abilities')->onDelete('cascade');
+ $table->timestamps();
+ });
+
+ $roles = Role::all();
+
+ foreach ($roles as $role) {
+ $h_role = HorizonRole::create([
+ 'name' => $role->name,
+ 'description' => $role->description,
+ 'is_default' => $role->is_default
+ ]);
+
+ foreach ($role->abilities as $ability) {
+ $h_ability = HorizonAbility::where('name', '=', $ability->name)->first();
+
+ $h_role->abilities()->attach($h_ability);
+ }
+ }
+ }
+
+ /**
+ * Reverse the migrations.
+ *
+ * @return void
+ */
+ public function down() {
+ Schema::dropIfExists('h_role_abilities');
+ }
+}
diff --git a/database/migrations/2020_12_22_212651_horizon_create_users_table.php b/database/migrations/2020_12_22_212651_horizon_create_users_table.php
new file mode 100644
index 0000000..c41bb76
--- /dev/null
+++ b/database/migrations/2020_12_22_212651_horizon_create_users_table.php
@@ -0,0 +1,61 @@
+id();
+ $table->string('name');
+ $table->string('email')->unique();
+ $table->string('avatar_path')->nullable();
+ $table->integer('theme')->default('0');
+ $table->string('onboarding')->nullable();
+ $table->foreignId('role_id')->constrained('h_roles')->default(4);
+ $table->timestamp('email_verified_at')->nullable();
+ $table->string('password');
+ $table->rememberToken();
+ $table->string('slug')->unique();
+ $table->timestamps();
+ });
+
+ $users = User::all();
+
+ foreach ($users as $user) {
+ $h_role = HorizonRole::where('name', '=', $user->role->name)->first();
+
+ HorizonUser::create([
+ 'name' => $user->name,
+ 'email' => $user->email,
+ 'avatar_path' => $user->avatar_path,
+ 'theme' => $user->theme > 0 ? 1 : 0,
+ 'onboarding' => $user->onboarding,
+ 'email_verified_at' => $user->email_verified_at,
+ 'role_id' => $h_role->id,
+ 'password' => $user->password,
+ 'remember_token' => $user->remember_token
+ ]);
+ }
+ }
+
+ /**
+ * Reverse the migrations.
+ *
+ * @return void
+ */
+ public function down() {
+ Schema::dropIfExists('h_users');
+ }
+}
diff --git a/database/migrations/2020_12_23_202929_horizon_create_platforms_table.php b/database/migrations/2020_12_23_202929_horizon_create_platforms_table.php
new file mode 100644
index 0000000..f5decd9
--- /dev/null
+++ b/database/migrations/2020_12_23_202929_horizon_create_platforms_table.php
@@ -0,0 +1,49 @@
+id();
+ $table->string('name');
+ $table->string('color');
+ $table->string('icon');
+ $table->integer('position')->default(1);
+ $table->integer('active')->default(1);
+ $table->string('slug')->unique();
+ $table->timestamps();
+ });
+
+ $platforms = Platform::all();
+
+ foreach ($platforms as $platform) {
+ HorizonPlatform::create([
+ 'name' => $platform->name,
+ 'color' => $platform->color,
+ 'icon' => $platform->icon,
+ 'position' => $platform->position,
+ 'active' => $platform->active
+ ]);
+ }
+ }
+
+ /**
+ * Reverse the migrations.
+ *
+ * @return void
+ */
+ public function down() {
+ Schema::dropIfExists('h_platforms');
+ }
+}
diff --git a/database/migrations/2020_12_23_203039_horizon_create_channels_table.php b/database/migrations/2020_12_23_203039_horizon_create_channels_table.php
new file mode 100644
index 0000000..57b02ac
--- /dev/null
+++ b/database/migrations/2020_12_23_203039_horizon_create_channels_table.php
@@ -0,0 +1,48 @@
+id();
+ $table->string('name');
+ $table->string('color');
+ $table->string('icon');
+ $table->integer('position')->default(1);
+ $table->string('slug')->unique();
+ $table->timestamps();
+ });
+
+ $channels = Channel::all();
+
+ foreach ($channels as $channel) {
+ HorizonChannel::create([
+ 'name' => $channel->name,
+ 'color' => $channel->color,
+ 'icon' => $channel->icon,
+ 'position' => $channel->position,
+ 'active' => $channel->active
+ ]);
+ }
+ }
+
+ /**
+ * Reverse the migrations.
+ *
+ * @return void
+ */
+ public function down() {
+ Schema::dropIfExists('h_channels');
+ }
+}
diff --git a/database/migrations/2020_12_23_203716_horizon_create_platform_channels_table.php b/database/migrations/2020_12_23_203716_horizon_create_platform_channels_table.php
new file mode 100644
index 0000000..d15b481
--- /dev/null
+++ b/database/migrations/2020_12_23_203716_horizon_create_platform_channels_table.php
@@ -0,0 +1,48 @@
+id();
+ $table->foreignId('platform_id')->constrained('h_platforms')->onDelete('cascade');
+ $table->foreignId('channel_id')->constrained('h_channels')->onDelete('cascade');
+ $table->string('name');
+ $table->string('short_name');
+ $table->integer('active')->default(1);
+ $table->timestamps();
+ });
+
+ $channel_platforms = ChannelPlatform::all();
+
+ foreach ($channel_platforms as $channel_platform) {
+ HorizonPlatformChannel::create([
+ 'platform_id' => $channel_platform->platform->id,
+ 'channel_id' => $channel_platform->channel->id,
+ 'name' => $channel_platform->name,
+ 'short_name' => $channel_platform->short_name,
+ 'active' => $channel_platform->active
+ ]);
+ }
+ }
+
+ /**
+ * Reverse the migrations.
+ *
+ * @return void
+ */
+ public function down() {
+ Schema::dropIfExists('h_platform_channels');
+ }
+}
diff --git a/database/migrations/2020_12_26_145137_horizon_create_milestones_table.php b/database/migrations/2020_12_26_145137_horizon_create_milestones_table.php
new file mode 100644
index 0000000..1383074
--- /dev/null
+++ b/database/migrations/2020_12_26_145137_horizon_create_milestones_table.php
@@ -0,0 +1,63 @@
+id();
+ $table->string('product_name');
+ $table->string('name');
+ $table->string('codename');
+ $table->string('version');
+ $table->integer('canonical_version')->unsigned();
+ $table->string('color');
+ $table->integer('start_build')->unsigned();
+ $table->date('start_preview')->nullable();
+ $table->date('start_public')->nullable();
+ $table->date('start_extended')->nullable();
+ $table->date('start_lts')->nullable();
+ $table->date('end_lts')->nullable();
+ $table->string('slug')->unique();
+ $table->timestamps();
+ });
+
+ $milestones = Milestone::orderBy('version', 'asc')->get();
+
+ foreach ($milestones as $milestone) {
+ HorizonMilestone::create([
+ 'product_name' => $milestone->osname,
+ 'name' => $milestone->name,
+ 'codename' => $milestone->codename,
+ 'version' => $milestone->version,
+ 'canonical_version' => $milestone->version,
+ 'color' => $milestone->color,
+ 'start_build' => $milestone->start_build,
+ 'start_preview' => $milestone->preview->timestamp === 0 ? null : $milestone->preview,
+ 'start_public' => $milestone->public->timestamp === 0 ? null : $milestone->public,
+ 'start_extended' => $milestone->mainEol->timestamp === 0 ? null : $milestone->mainEol,
+ 'start_lts' => $milestone->mainXol->timestamp === 0 ? null : $milestone->mainXol,
+ 'end_lts' => $milestone->ltsEol->timestamp === 0 ? null : $milestone->ltsEol
+ ]);
+ }
+ }
+
+ /**
+ * Reverse the migrations.
+ *
+ * @return void
+ */
+ public function down() {
+ Schema::dropIfExists('h_milestones');
+ }
+}
diff --git a/database/migrations/2020_12_26_155511_horizon_create_milestone_platforms_table.php b/database/migrations/2020_12_26_155511_horizon_create_milestone_platforms_table.php
new file mode 100644
index 0000000..139667c
--- /dev/null
+++ b/database/migrations/2020_12_26_155511_horizon_create_milestone_platforms_table.php
@@ -0,0 +1,49 @@
+id();
+ $table->foreignId('milestone_id')->constrained('h_milestones')->onDelete('cascade');
+ $table->foreignId('platform_id')->constrained('h_platforms')->onDelete('cascade');
+ $table->timestamps();
+ });
+
+ $milestone_platforms = MilestonePlatform::all();
+
+ foreach ($milestone_platforms as $milestone_platform) {
+ $legacy_milestone = Milestone::where('id', '=', $milestone_platform->milestone->id)->first();
+
+
+ $h_milestone = HorizonMilestone::where('version', '=', $legacy_milestone->version)->first();
+
+ HorizonMilestonePlatform::create([
+ 'milestone_id' => $h_milestone->id,
+ 'platform_id' => $milestone_platform->platform->id
+ ]);
+ }
+ }
+
+ /**
+ * Reverse the migrations.
+ *
+ * @return void
+ */
+ public function down() {
+ Schema::dropIfExists('h_milestone_platforms');
+ }
+}
\ No newline at end of file
diff --git a/database/migrations/2020_12_26_221302_horizon_create_milestone_platform_channels_table.php b/database/migrations/2020_12_26_221302_horizon_create_milestone_platform_channels_table.php
new file mode 100644
index 0000000..0fe9512
--- /dev/null
+++ b/database/migrations/2020_12_26_221302_horizon_create_milestone_platform_channels_table.php
@@ -0,0 +1,56 @@
+id();
+ $table->foreignId('milestone_platform_id')->constrained('h_milestone_platforms')->onDelete('cascade');
+ $table->foreignId('platform_channel_id')->constrained('h_platform_channels')->onDelete('cascade');
+ $table->integer('active')->required()->default(1);
+ $table->timestamps();
+ });
+
+ $cmps = ChannelMilestonePlatform::all();
+
+ foreach ($cmps as $cmp) {
+ $milestone = HorizonMilestone::where('version', '=', $cmp->milestonePlatform->milestone->version)->first();
+ $platform = HorizonPlatform::where('id', '=', $cmp->milestonePlatform->platform_id)->first();
+ $channel = HorizonChannel::where('id', '=', $cmp->channelPlatform->channel_id)->first();
+
+ $platform_channel = HorizonPlatformChannel::where('platform_id', '=', $platform->id)->where('channel_id', '=',$channel->id)->first();
+ $milestone_platform = HorizonMilestonePlatform::where('platform_id', '=', $platform->id)->where('milestone_id', '=', $milestone->id)->first();
+
+ HorizonMilestonePlatformChannel::create([
+ 'platform_channel_id' => $platform_channel->id,
+ 'milestone_platform_id' => $milestone_platform->id,
+ 'active' => $cmp->active
+ ]);
+ }
+ }
+
+ /**
+ * Reverse the migrations.
+ *
+ * @return void
+ */
+ public function down() {
+ Schema::dropIfExists('h_milestone_platform_channels');
+ }
+ }
\ No newline at end of file
diff --git a/database/migrations/2020_12_27_092832_horizon_create_changelogs_table.php b/database/migrations/2020_12_27_092832_horizon_create_changelogs_table.php
new file mode 100644
index 0000000..b691423
--- /dev/null
+++ b/database/migrations/2020_12_27_092832_horizon_create_changelogs_table.php
@@ -0,0 +1,50 @@
+id();
+ $table->foreignId('milestone_platform_id')->constrained('h_milestone_platforms')->onDelete('cascade');
+ $table->text('changelog');
+ $table->timestamps();
+ });
+
+ $logs = Log::all();
+
+ foreach($logs as $log) {
+ $legacy_milestone = Milestone::where('id', '=', $log->milestone_id)->first();
+ $milestone = HorizonMilestone::where('version', '=', $legacy_milestone->version)->first();
+
+ $milestone_platform = HorizonMilestonePlatform::where('milestone_id', '=', $milestone->id)->where('platform_id', '=', $log->platform)->first();
+
+ HorizonChangelog::create([
+ 'milestone_platform_id' => $milestone_platform->id,
+ 'changelog' => $log->changelog
+ ]);
+ }
+ }
+
+ /**
+ * Reverse the migrations.
+ *
+ * @return void
+ */
+ public function down() {
+ Schema::dropIfExists('h_changelogs');
+ }
+}
diff --git a/database/migrations/2020_12_27_144940_horizon_create_flights_table.php b/database/migrations/2020_12_27_144940_horizon_create_flights_table.php
new file mode 100644
index 0000000..78cd9a7
--- /dev/null
+++ b/database/migrations/2020_12_27_144940_horizon_create_flights_table.php
@@ -0,0 +1,61 @@
+id();
+ $table->integer('major')->unsigned();
+ $table->integer('minor')->unsigned();
+ $table->integer('build')->unsigned();
+ $table->integer('delta')->unsigned();
+ $table->date('date');
+ $table->foreignId('channel_id')->constrained('h_channels')->onDelete('cascade');
+ $table->foreignId('milestone_id')->constrained('h_milestones')->onDelete('cascade');
+ $table->foreignId('platform_id')->constrained('h_platforms')->onDelete('cascade');
+ $table->foreignId('user_id')->nullable()->constrained('h_users')->onDelete('set null');
+ $table->timestamps();
+ });
+
+ $releases = Release::all();
+
+ foreach($releases as $release) {
+ $legacy_milestone = Milestone::where('id', '=', $release->milestone)->first();
+ $milestone = HorizonMilestone::where('version', '=', $legacy_milestone->version)->first();
+
+ HorizonFlight::create([
+ 'major' => $release->major,
+ 'minor' => $release->minor,
+ 'build' => $release->build,
+ 'delta' => $release->delta,
+ 'date' => $release->date,
+ 'channel_id' => $release->ring,
+ 'platform_id' => $release->platform,
+ 'milestone_id' => $milestone->id,
+ 'user' => null
+ ]);
+ }
+ }
+
+ /**
+ * Reverse the migrations.
+ *
+ * @return void
+ */
+ public function down() {
+ Schema::dropIfExists('h_flights');
+ }
+}
diff --git a/database/seeds/DatabaseSeeder.php b/database/seeds/DatabaseSeeder.php
index d540815..5564fc3 100644
--- a/database/seeds/DatabaseSeeder.php
+++ b/database/seeds/DatabaseSeeder.php
@@ -14,6 +14,6 @@ class DatabaseSeeder extends Seeder
public function run()
{
$this->call(RoleTableSeeder::class);
- $this->call(UserTableSeeder::class);
+ //$this->call(UserTableSeeder::class);
}
}
diff --git a/database/seeds/RoleTableSeeder.php b/database/seeds/RoleTableSeeder.php
index 8820930..18cee2a 100644
--- a/database/seeds/RoleTableSeeder.php
+++ b/database/seeds/RoleTableSeeder.php
@@ -4,29 +4,266 @@
use Illuminate\Database\Seeder;
use App\Role;
+use App\Ability;
-class RoleTableSeeder extends Seeder
-{
+class RoleTableSeeder extends Seeder {
/**
* Run the database seeds.
*
* @return void
*/
- public function run()
- {
- $admin = new Role();
- $admin->name = 'Admin';
- $admin->description = 'Administrates ChangeWindows';
- $admin->save();
-
- $insider = new Role();
- $insider->name = 'Insider';
- $insider->description = 'Those who test ChangeWindows';
- $insider->save();
-
- $user = new Role();
- $user->name = 'User';
- $user->description = 'User with a user account';
- $user->save();
+ public function run() {
+ $admin = Role::create([
+ 'id' => 1,
+ 'name' => 'Admin',
+ 'description' => 'Has all rights.',
+ 'is_default' => 0
+ ]);
+
+ $editor = Role::create([
+ 'id' => 2,
+ 'name' => 'Editor',
+ 'description' => 'Can manage most content.',
+ 'is_default' => 0
+ ]);
+
+ Role::create([
+ 'id' => 3,
+ 'name' => 'Insider',
+ 'description' => 'Have access to some limited features.',
+ 'is_default' => 0
+ ]);
+
+ Role::create([
+ 'id' => 4,
+ 'name' => 'User',
+ 'description' => 'Has no access to the Backstage.',
+ 'is_default' => 1
+ ]);
+
+ $view_backstage = Ability::create([
+ 'name' => 'view_backstage',
+ 'label' => 'Can view the Backstage.'
+ ]);
+
+ $show_users = Ability::create([
+ 'name' => 'show_users',
+ 'label' => 'Can view users.'
+ ]);
+
+ $edit_user = Ability::create([
+ 'name' => 'edit_user',
+ 'label' => 'Can edit user.'
+ ]);
+
+ $delete_user = Ability::create([
+ 'name' => 'delete_user',
+ 'label' => 'Can remove user.'
+ ]);
+
+ $show_abilities = Ability::create([
+ 'name' => 'show_abilities',
+ 'label' => 'Can view permissions.'
+ ]);
+
+ $create_ability = Ability::create([
+ 'name' => 'create_ability',
+ 'label' => 'Can create permission.'
+ ]);
+
+ $edit_ability = Ability::create([
+ 'name' => 'edit_ability',
+ 'label' => 'Can edit permission.'
+ ]);
+
+ $assign_ability = Ability::create([
+ 'name' => 'assign_ability',
+ 'label' => 'Can assign permission to role.'
+ ]);
+
+ $show_roles = Ability::create([
+ 'name' => 'show_roles',
+ 'label' => 'Can view roles.'
+ ]);
+
+ $create_role = Ability::create([
+ 'name' => 'create_role',
+ 'label' => 'Can create role.'
+ ]);
+
+ $edit_role = Ability::create([
+ 'name' => 'edit_role',
+ 'label' => 'Can edit role.'
+ ]);
+
+ $delete_role = Ability::create([
+ 'name' => 'delete_role',
+ 'label' => 'Can remove role.'
+ ]);
+
+ $show_flights = Ability::create([
+ 'name' => 'show_flights',
+ 'label' => 'Can view flights.'
+ ]);
+
+ $create_flight = Ability::create([
+ 'name' => 'create_flight',
+ 'label' => 'Can create flight.'
+ ]);
+
+ $edit_flight = Ability::create([
+ 'name' => 'edit_flight',
+ 'label' => 'Can edit flight.'
+ ]);
+
+ $delete_flight = Ability::create([
+ 'name' => 'delete_flight',
+ 'label' => 'Can remove flight.'
+ ]);
+
+ $show_milestones = Ability::create([
+ 'name' => 'show_milestones',
+ 'label' => 'Can view milestones.'
+ ]);
+
+ $create_milestone = Ability::create([
+ 'name' => 'create_milestone',
+ 'label' => 'Can create milestone.'
+ ]);
+
+ $edit_milestone = Ability::create([
+ 'name' => 'edit_milestone',
+ 'label' => 'Can edit milestone.'
+ ]);
+
+ $delete_milestone = Ability::create([
+ 'name' => 'delete_milestone',
+ 'label' => 'Can remove milestone.'
+ ]);
+
+ $show_logs = Ability::create([
+ 'name' => 'show_logs',
+ 'label' => 'Can view logs.'
+ ]);
+
+ $create_log = Ability::create([
+ 'name' => 'create_log',
+ 'label' => 'Can create log.'
+ ]);
+
+ $edit_log = Ability::create([
+ 'name' => 'edit_log',
+ 'label' => 'Can edit log.'
+ ]);
+
+ $delete_log = Ability::create([
+ 'name' => 'delete_log',
+ 'label' => 'Can remove log.'
+ ]);
+
+ $show_platforms = Ability::create([
+ 'name' => 'show_platforms',
+ 'label' => 'Can view platforms.'
+ ]);
+
+ $create_platform = Ability::create([
+ 'name' => 'create_platform',
+ 'label' => 'Can create platform.'
+ ]);
+
+ $edit_platform = Ability::create([
+ 'name' => 'edit_platform',
+ 'label' => 'Can edit platform.'
+ ]);
+
+ $delete_platform = Ability::create([
+ 'name' => 'delete_platform',
+ 'label' => 'Can remove platform.'
+ ]);
+
+ $show_channels = Ability::create([
+ 'name' => 'show_channels',
+ 'label' => 'Can view channels.'
+ ]);
+
+ $create_channel = Ability::create([
+ 'name' => 'create_channel',
+ 'label' => 'Can create channel.'
+ ]);
+
+ $edit_channel = Ability::create([
+ 'name' => 'edit_channel',
+ 'label' => 'Can edit channel.'
+ ]);
+
+ $delete_channel = Ability::create([
+ 'name' => 'delete_channel',
+ 'label' => 'Can remove channel.'
+ ]);
+
+ $edit_settings = Ability::create([
+ 'name' => 'edit_settings',
+ 'label' => 'Can edit settings.'
+ ]);
+
+ $view_settings = Ability::create([
+ 'name' => 'view_settings',
+ 'label' => 'Can edit settings.'
+ ]);
+
+ $admin->abilities()->attach($view_backstage->id);
+ $admin->abilities()->attach($show_users->id);
+ $admin->abilities()->attach($edit_user->id);
+ $admin->abilities()->attach($delete_user->id);
+ $admin->abilities()->attach($show_abilities->id);
+ $admin->abilities()->attach($create_ability->id);
+ $admin->abilities()->attach($edit_ability->id);
+ $admin->abilities()->attach($assign_ability->id);
+ $admin->abilities()->attach($show_roles->id);
+ $admin->abilities()->attach($create_role->id);
+ $admin->abilities()->attach($edit_role->id);
+ $admin->abilities()->attach($delete_role->id);
+ $admin->abilities()->attach($edit_settings->id);
+ $admin->abilities()->attach($view_settings->id);
+ $admin->abilities()->attach($show_flights);
+ $admin->abilities()->attach($create_flight);
+ $admin->abilities()->attach($edit_flight);
+ $admin->abilities()->attach($delete_flight);
+ $admin->abilities()->attach($show_milestones);
+ $admin->abilities()->attach($create_milestone);
+ $admin->abilities()->attach($edit_milestone);
+ $admin->abilities()->attach($delete_milestone);
+ $admin->abilities()->attach($show_logs);
+ $admin->abilities()->attach($create_log);
+ $admin->abilities()->attach($edit_log);
+ $admin->abilities()->attach($delete_log);
+ $admin->abilities()->attach($show_platforms);
+ $admin->abilities()->attach($create_platform);
+ $admin->abilities()->attach($edit_platform);
+ $admin->abilities()->attach($delete_platform);
+ $admin->abilities()->attach($show_channels);
+ $admin->abilities()->attach($create_channel);
+ $admin->abilities()->attach($edit_channel);
+ $admin->abilities()->attach($delete_channel);
+
+ $editor->abilities()->attach($view_backstage->id);
+ $editor->abilities()->attach($show_users->id);
+ $editor->abilities()->attach($edit_user->id);
+ $editor->abilities()->attach($show_abilities->id);
+ $editor->abilities()->attach($show_roles->id);
+ $editor->abilities()->attach($view_settings->id);
+ $editor->abilities()->attach($show_flights);
+ $editor->abilities()->attach($create_flight);
+ $editor->abilities()->attach($edit_flight);
+ $editor->abilities()->attach($show_milestones);
+ $editor->abilities()->attach($create_milestone);
+ $editor->abilities()->attach($edit_milestone);
+ $editor->abilities()->attach($show_logs);
+ $editor->abilities()->attach($create_log);
+ $editor->abilities()->attach($edit_log);
+ $editor->abilities()->attach($show_platforms);
+ $editor->abilities()->attach($edit_platform);
+ $editor->abilities()->attach($show_channels);
+ $editor->abilities()->attach($edit_channel);
}
}
diff --git a/package-lock.json b/package-lock.json
index bb945f0..acb3ef4 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -3,62 +3,61 @@
"lockfileVersion": 1,
"dependencies": {
"@babel/code-frame": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz",
- "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==",
+ "version": "7.12.11",
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz",
+ "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==",
"dev": true,
"requires": {
"@babel/highlight": "^7.10.4"
}
},
"@babel/compat-data": {
- "version": "7.12.1",
- "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.12.1.tgz",
- "integrity": "sha512-725AQupWJZ8ba0jbKceeFblZTY90McUBWMwHhkFQ9q1zKPJ95GUktljFcgcsIVwRnTnRKlcYzfiNImg5G9m6ZQ==",
+ "version": "7.12.7",
+ "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.12.7.tgz",
+ "integrity": "sha512-YaxPMGs/XIWtYqrdEOZOCPsVWfEoriXopnsz3/i7apYPXQ3698UFhS6dVT1KN5qOsWmVgw/FOrmQgpRaZayGsw==",
"dev": true
},
"@babel/core": {
- "version": "7.12.3",
- "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.12.3.tgz",
- "integrity": "sha512-0qXcZYKZp3/6N2jKYVxZv0aNCsxTSVCiK72DTiTYZAu7sjg73W0/aynWjMbiGd87EQL4WyA8reiJVh92AVla9g==",
+ "version": "7.12.10",
+ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.12.10.tgz",
+ "integrity": "sha512-eTAlQKq65zHfkHZV0sIVODCPGVgoo1HdBlbSLi9CqOzuZanMv2ihzY+4paiKr1mH+XmYESMAmJ/dpZ68eN6d8w==",
"dev": true,
"requires": {
"@babel/code-frame": "^7.10.4",
- "@babel/generator": "^7.12.1",
+ "@babel/generator": "^7.12.10",
"@babel/helper-module-transforms": "^7.12.1",
- "@babel/helpers": "^7.12.1",
- "@babel/parser": "^7.12.3",
- "@babel/template": "^7.10.4",
- "@babel/traverse": "^7.12.1",
- "@babel/types": "^7.12.1",
+ "@babel/helpers": "^7.12.5",
+ "@babel/parser": "^7.12.10",
+ "@babel/template": "^7.12.7",
+ "@babel/traverse": "^7.12.10",
+ "@babel/types": "^7.12.10",
"convert-source-map": "^1.7.0",
"debug": "^4.1.0",
"gensync": "^1.0.0-beta.1",
"json5": "^2.1.2",
"lodash": "^4.17.19",
- "resolve": "^1.3.2",
"semver": "^5.4.1",
"source-map": "^0.5.0"
}
},
"@babel/generator": {
- "version": "7.12.1",
- "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.12.1.tgz",
- "integrity": "sha512-DB+6rafIdc9o72Yc3/Ph5h+6hUjeOp66pF0naQBgUFFuPqzQwIlPTm3xZR7YNvduIMtkDIj2t21LSQwnbCrXvg==",
+ "version": "7.12.11",
+ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.12.11.tgz",
+ "integrity": "sha512-Ggg6WPOJtSi8yYQvLVjG8F/TlpWDlKx0OpS4Kt+xMQPs5OaGYWy+v1A+1TvxI6sAMGZpKWWoAQ1DaeQbImlItA==",
"dev": true,
"requires": {
- "@babel/types": "^7.12.1",
+ "@babel/types": "^7.12.11",
"jsesc": "^2.5.1",
"source-map": "^0.5.0"
}
},
"@babel/helper-annotate-as-pure": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.10.4.tgz",
- "integrity": "sha512-XQlqKQP4vXFB7BN8fEEerrmYvHp3fK/rBkRFz9jaJbzK0B1DSfej9Kc7ZzE8Z/OnId1jpJdNAZ3BFQjWG68rcA==",
+ "version": "7.12.10",
+ "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.12.10.tgz",
+ "integrity": "sha512-XplmVbC1n+KY6jL8/fgLVXXUauDIB+lD5+GsQEh6F6GBF1dq1qy4DP4yXWzDKcoqXB3X58t61e85Fitoww4JVQ==",
"dev": true,
"requires": {
- "@babel/types": "^7.10.4"
+ "@babel/types": "^7.12.10"
}
},
"@babel/helper-builder-binary-assignment-operator-visitor": {
@@ -72,14 +71,14 @@
}
},
"@babel/helper-compilation-targets": {
- "version": "7.12.1",
- "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.12.1.tgz",
- "integrity": "sha512-jtBEif7jsPwP27GPHs06v4WBV0KrE8a/P7n0N0sSvHn2hwUCYnolP/CLmz51IzAW4NlN+HuoBtb9QcwnRo9F/g==",
+ "version": "7.12.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.12.5.tgz",
+ "integrity": "sha512-+qH6NrscMolUlzOYngSBMIOQpKUGPPsc61Bu5W10mg84LxZ7cmvnBHzARKbDoFxVvqqAbj6Tg6N7bSrWSPXMyw==",
"dev": true,
"requires": {
- "@babel/compat-data": "^7.12.1",
+ "@babel/compat-data": "^7.12.5",
"@babel/helper-validator-option": "^7.12.1",
- "browserslist": "^4.12.0",
+ "browserslist": "^4.14.5",
"semver": "^5.5.0"
}
},
@@ -97,13 +96,12 @@
}
},
"@babel/helper-create-regexp-features-plugin": {
- "version": "7.12.1",
- "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.12.1.tgz",
- "integrity": "sha512-rsZ4LGvFTZnzdNZR5HZdmJVuXK8834R5QkF3WvcnBhrlVtF0HSIUC6zbreL9MgjTywhKokn8RIYRiq99+DLAxA==",
+ "version": "7.12.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.12.7.tgz",
+ "integrity": "sha512-idnutvQPdpbduutvi3JVfEgcVIHooQnhvhx0Nk9isOINOIGYkZea1Pk2JlJRiUnMefrlvr0vkByATBY/mB4vjQ==",
"dev": true,
"requires": {
"@babel/helper-annotate-as-pure": "^7.10.4",
- "@babel/helper-regex": "^7.10.4",
"regexpu-core": "^4.7.1"
}
},
@@ -128,23 +126,23 @@
}
},
"@babel/helper-function-name": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.10.4.tgz",
- "integrity": "sha512-YdaSyz1n8gY44EmN7x44zBn9zQ1Ry2Y+3GTA+3vH6Mizke1Vw0aWDM66FOYEPw8//qKkmqOckrGgTYa+6sceqQ==",
+ "version": "7.12.11",
+ "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.12.11.tgz",
+ "integrity": "sha512-AtQKjtYNolKNi6nNNVLQ27CP6D9oFR6bq/HPYSizlzbp7uC1M59XJe8L+0uXjbIaZaUJF99ruHqVGiKXU/7ybA==",
"dev": true,
"requires": {
- "@babel/helper-get-function-arity": "^7.10.4",
- "@babel/template": "^7.10.4",
- "@babel/types": "^7.10.4"
+ "@babel/helper-get-function-arity": "^7.12.10",
+ "@babel/template": "^7.12.7",
+ "@babel/types": "^7.12.11"
}
},
"@babel/helper-get-function-arity": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.4.tgz",
- "integrity": "sha512-EkN3YDB+SRDgiIUnNgcmiD361ti+AVbL3f3Henf6dqqUyr5dMsorno0lJWJuLhDhkI5sYEpgj6y9kB8AOU1I2A==",
+ "version": "7.12.10",
+ "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.10.tgz",
+ "integrity": "sha512-mm0n5BPjR06wh9mPQaDdXWDoll/j5UpCAPl1x8fS71GHm7HA6Ua2V4ylG1Ju8lvcTOietbPNNPaSilKj+pj+Ag==",
"dev": true,
"requires": {
- "@babel/types": "^7.10.4"
+ "@babel/types": "^7.12.10"
}
},
"@babel/helper-hoist-variables": {
@@ -157,21 +155,21 @@
}
},
"@babel/helper-member-expression-to-functions": {
- "version": "7.12.1",
- "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.12.1.tgz",
- "integrity": "sha512-k0CIe3tXUKTRSoEx1LQEPFU9vRQfqHtl+kf8eNnDqb4AUJEy5pz6aIiog+YWtVm2jpggjS1laH68bPsR+KWWPQ==",
+ "version": "7.12.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.12.7.tgz",
+ "integrity": "sha512-DCsuPyeWxeHgh1Dus7APn7iza42i/qXqiFPWyBDdOFtvS581JQePsc1F/nD+fHrcswhLlRc2UpYS1NwERxZhHw==",
"dev": true,
"requires": {
- "@babel/types": "^7.12.1"
+ "@babel/types": "^7.12.7"
}
},
"@babel/helper-module-imports": {
- "version": "7.12.1",
- "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.12.1.tgz",
- "integrity": "sha512-ZeC1TlMSvikvJNy1v/wPIazCu3NdOwgYZLIkmIyAsGhqkNpiDoQQRmaCK8YP4Pq3GPTLPV9WXaPCJKvx06JxKA==",
+ "version": "7.12.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.12.5.tgz",
+ "integrity": "sha512-SR713Ogqg6++uexFRORf/+nPXMmWIn80TALu0uaFb+iQIUoR7bOC7zBWyzBs5b3tBBJXuyD0cRu1F15GyzjOWA==",
"dev": true,
"requires": {
- "@babel/types": "^7.12.1"
+ "@babel/types": "^7.12.5"
}
},
"@babel/helper-module-transforms": {
@@ -192,12 +190,12 @@
}
},
"@babel/helper-optimise-call-expression": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.10.4.tgz",
- "integrity": "sha512-n3UGKY4VXwXThEiKrgRAoVPBMqeoPgHVqiHZOanAJCG9nQUL2pLRQirUzl0ioKclHGpGqRgIOkgcIJaIWLpygg==",
+ "version": "7.12.10",
+ "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.12.10.tgz",
+ "integrity": "sha512-4tpbU0SrSTjjt65UMWSrUOPZTsgvPgGG4S8QSTNHacKzpS51IVWGDj0yCwyeZND/i+LSN2g/O63jEXEWm49sYQ==",
"dev": true,
"requires": {
- "@babel/types": "^7.10.4"
+ "@babel/types": "^7.12.10"
}
},
"@babel/helper-plugin-utils": {
@@ -206,15 +204,6 @@
"integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==",
"dev": true
},
- "@babel/helper-regex": {
- "version": "7.10.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-regex/-/helper-regex-7.10.5.tgz",
- "integrity": "sha512-68kdUAzDrljqBrio7DYAEgCoJHxppJOERHOgOrDN7WjOzP0ZQ1LsSDRXcemzVZaLvjaJsJEESb6qt+znNuENDg==",
- "dev": true,
- "requires": {
- "lodash": "^4.17.19"
- }
- },
"@babel/helper-remap-async-to-generator": {
"version": "7.12.1",
"resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.12.1.tgz",
@@ -227,15 +216,15 @@
}
},
"@babel/helper-replace-supers": {
- "version": "7.12.1",
- "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.12.1.tgz",
- "integrity": "sha512-zJjTvtNJnCFsCXVi5rUInstLd/EIVNmIKA1Q9ynESmMBWPWd+7sdR+G4/wdu+Mppfep0XLyG2m7EBPvjCeFyrw==",
+ "version": "7.12.11",
+ "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.12.11.tgz",
+ "integrity": "sha512-q+w1cqmhL7R0FNzth/PLLp2N+scXEK/L2AHbXUyydxp828F4FEa5WcVoqui9vFRiHDQErj9Zof8azP32uGVTRA==",
"dev": true,
"requires": {
- "@babel/helper-member-expression-to-functions": "^7.12.1",
- "@babel/helper-optimise-call-expression": "^7.10.4",
- "@babel/traverse": "^7.12.1",
- "@babel/types": "^7.12.1"
+ "@babel/helper-member-expression-to-functions": "^7.12.7",
+ "@babel/helper-optimise-call-expression": "^7.12.10",
+ "@babel/traverse": "^7.12.10",
+ "@babel/types": "^7.12.11"
}
},
"@babel/helper-simple-access": {
@@ -257,24 +246,24 @@
}
},
"@babel/helper-split-export-declaration": {
- "version": "7.11.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.11.0.tgz",
- "integrity": "sha512-74Vejvp6mHkGE+m+k5vHY93FX2cAtrw1zXrZXRlG4l410Nm9PxfEiVTn1PjDPV5SnmieiueY4AFg2xqhNFuuZg==",
+ "version": "7.12.11",
+ "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.12.11.tgz",
+ "integrity": "sha512-LsIVN8j48gHgwzfocYUSkO/hjYAOJqlpJEc7tGXcIm4cubjVUf8LGW6eWRyxEu7gA25q02p0rQUWoCI33HNS5g==",
"dev": true,
"requires": {
- "@babel/types": "^7.11.0"
+ "@babel/types": "^7.12.11"
}
},
"@babel/helper-validator-identifier": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz",
- "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==",
+ "version": "7.12.11",
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz",
+ "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==",
"dev": true
},
"@babel/helper-validator-option": {
- "version": "7.12.1",
- "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.12.1.tgz",
- "integrity": "sha512-YpJabsXlJVWP0USHjnC/AQDTLlZERbON577YUVO/wLpqyj6HAtVYnWaQaN0iUN+1/tWn3c+uKKXjRut5115Y2A==",
+ "version": "7.12.11",
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.12.11.tgz",
+ "integrity": "sha512-TBFCyj939mFSdeX7U7DDj32WtzYY7fDcalgq8v3fBZMNOJQNn7nOYzMaUCiPxPYfCup69mtIpqlKgMZLvQ8Xhw==",
"dev": true
},
"@babel/helper-wrap-function": {
@@ -290,14 +279,14 @@
}
},
"@babel/helpers": {
- "version": "7.12.1",
- "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.12.1.tgz",
- "integrity": "sha512-9JoDSBGoWtmbay98efmT2+mySkwjzeFeAL9BuWNoVQpkPFQF8SIIFUfY5os9u8wVzglzoiPRSW7cuJmBDUt43g==",
+ "version": "7.12.5",
+ "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.12.5.tgz",
+ "integrity": "sha512-lgKGMQlKqA8meJqKsW6rUnc4MdUk35Ln0ATDqdM1a/UpARODdI4j5Y5lVfUScnSNkJcdCRAaWkspykNoFg9sJA==",
"dev": true,
"requires": {
"@babel/template": "^7.10.4",
- "@babel/traverse": "^7.12.1",
- "@babel/types": "^7.12.1"
+ "@babel/traverse": "^7.12.5",
+ "@babel/types": "^7.12.5"
}
},
"@babel/highlight": {
@@ -309,18 +298,31 @@
"@babel/helper-validator-identifier": "^7.10.4",
"chalk": "^2.0.0",
"js-tokens": "^4.0.0"
+ },
+ "dependencies": {
+ "chalk": {
+ "version": "2.4.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
+ "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^3.2.1",
+ "escape-string-regexp": "^1.0.5",
+ "supports-color": "^5.3.0"
+ }
+ }
}
},
"@babel/parser": {
- "version": "7.12.3",
- "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.3.tgz",
- "integrity": "sha512-kFsOS0IbsuhO5ojF8Hc8z/8vEIOkylVBrjiZUbLTE3XFe0Qi+uu6HjzQixkFaqr0ZPAMZcBVxEwmsnsLPZ2Xsw==",
+ "version": "7.12.11",
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.11.tgz",
+ "integrity": "sha512-N3UxG+uuF4CMYoNj8AhnbAcJF0PiuJ9KHuy1lQmkYsxTer/MAH9UBNHsBoAX/4s6NvlDD047No8mYVGGzLL4hg==",
"dev": true
},
"@babel/plugin-proposal-async-generator-functions": {
- "version": "7.12.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.12.1.tgz",
- "integrity": "sha512-d+/o30tJxFxrA1lhzJqiUcEJdI6jKlNregCv5bASeGf2Q4MXmnwH7viDo7nhx1/ohf09oaH8j1GVYG/e3Yqk6A==",
+ "version": "7.12.12",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.12.12.tgz",
+ "integrity": "sha512-nrz9y0a4xmUrRq51bYkWJIO5SBZyG2ys2qinHsN0zHDHVsUaModrkpyWWWXfGqYQmOL3x9sQIcTNN/pBGpo09A==",
"dev": true,
"requires": {
"@babel/helper-plugin-utils": "^7.10.4",
@@ -389,9 +391,9 @@
}
},
"@babel/plugin-proposal-numeric-separator": {
- "version": "7.12.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.12.1.tgz",
- "integrity": "sha512-MR7Ok+Af3OhNTCxYVjJZHS0t97ydnJZt/DbR4WISO39iDnhiD8XHrY12xuSJ90FFEGjir0Fzyyn7g/zY6hxbxA==",
+ "version": "7.12.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.12.7.tgz",
+ "integrity": "sha512-8c+uy0qmnRTeukiGsjLGy6uVs/TFjJchGXUeBqlG4VWYOdJWkhhVPdQ3uHwbmalfJwv2JsV0qffXP4asRfL2SQ==",
"dev": true,
"requires": {
"@babel/helper-plugin-utils": "^7.10.4",
@@ -420,9 +422,9 @@
}
},
"@babel/plugin-proposal-optional-chaining": {
- "version": "7.12.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.12.1.tgz",
- "integrity": "sha512-c2uRpY6WzaVDzynVY9liyykS+kVU+WRZPMPYpkelXH8KBt1oXoI89kPbZKKG/jDT5UK92FTW2fZkZaJhdiBabw==",
+ "version": "7.12.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.12.7.tgz",
+ "integrity": "sha512-4ovylXZ0PWmwoOvhU2vhnzVNnm88/Sm9nx7V8BPgMvAzn5zDou3/Awy0EjglyubVHasJj+XCEkr/r1X3P5elCA==",
"dev": true,
"requires": {
"@babel/helper-plugin-utils": "^7.10.4",
@@ -588,9 +590,9 @@
}
},
"@babel/plugin-transform-block-scoping": {
- "version": "7.12.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.12.1.tgz",
- "integrity": "sha512-zJyAC9sZdE60r1nVQHblcfCj29Dh2Y0DOvlMkcqSo0ckqjiCwNiUezUKw+RjOCwGfpLRwnAeQ2XlLpsnGkvv9w==",
+ "version": "7.12.12",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.12.12.tgz",
+ "integrity": "sha512-VOEPQ/ExOVqbukuP7BYJtI5ZxxsmegTwzZ04j1aF0dkSypGo9XpDHuOrABsJu+ie+penpSJheDJ11x1BEZNiyQ==",
"dev": true,
"requires": {
"@babel/helper-plugin-utils": "^7.10.4"
@@ -807,14 +809,13 @@
}
},
"@babel/plugin-transform-runtime": {
- "version": "7.12.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.12.1.tgz",
- "integrity": "sha512-Ac/H6G9FEIkS2tXsZjL4RAdS3L3WHxci0usAnz7laPWUmFiGtj7tIASChqKZMHTSQTQY6xDbOq+V1/vIq3QrWg==",
+ "version": "7.12.10",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.12.10.tgz",
+ "integrity": "sha512-xOrUfzPxw7+WDm9igMgQCbO3cJKymX7dFdsgRr1eu9n3KjjyU4pptIXbXPseQDquw+W+RuJEJMHKHNsPNNm3CA==",
"dev": true,
"requires": {
- "@babel/helper-module-imports": "^7.12.1",
+ "@babel/helper-module-imports": "^7.12.5",
"@babel/helper-plugin-utils": "^7.10.4",
- "resolve": "^1.8.1",
"semver": "^5.5.1"
}
},
@@ -838,13 +839,12 @@
}
},
"@babel/plugin-transform-sticky-regex": {
- "version": "7.12.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.12.1.tgz",
- "integrity": "sha512-CiUgKQ3AGVk7kveIaPEET1jNDhZZEl1RPMWdTBE1799bdz++SwqDHStmxfCtDfBhQgCl38YRiSnrMuUMZIWSUQ==",
+ "version": "7.12.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.12.7.tgz",
+ "integrity": "sha512-VEiqZL5N/QvDbdjfYQBhruN0HYjSPjC4XkeqW4ny/jNtH9gcbgaqBIXYEZCNnESMAGs0/K/R7oFGMhOyu/eIxg==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.10.4",
- "@babel/helper-regex": "^7.10.4"
+ "@babel/helper-plugin-utils": "^7.10.4"
}
},
"@babel/plugin-transform-template-literals": {
@@ -857,9 +857,9 @@
}
},
"@babel/plugin-transform-typeof-symbol": {
- "version": "7.12.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.12.1.tgz",
- "integrity": "sha512-EPGgpGy+O5Kg5pJFNDKuxt9RdmTgj5sgrus2XVeMp/ZIbOESadgILUbm50SNpghOh3/6yrbsH+NB5+WJTmsA7Q==",
+ "version": "7.12.10",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.12.10.tgz",
+ "integrity": "sha512-JQ6H8Rnsogh//ijxspCjc21YPd3VLVoYtAwv3zQmqAt8YGYUtdo5usNhdl4b9/Vir2kPFZl6n1h0PfUz4hJhaA==",
"dev": true,
"requires": {
"@babel/helper-plugin-utils": "^7.10.4"
@@ -885,16 +885,16 @@
}
},
"@babel/preset-env": {
- "version": "7.12.1",
- "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.12.1.tgz",
- "integrity": "sha512-H8kxXmtPaAGT7TyBvSSkoSTUK6RHh61So05SyEbpmr0MCZrsNYn7mGMzzeYoOUCdHzww61k8XBft2TaES+xPLg==",
+ "version": "7.12.11",
+ "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.12.11.tgz",
+ "integrity": "sha512-j8Tb+KKIXKYlDBQyIOy4BLxzv1NUOwlHfZ74rvW+Z0Gp4/cI2IMDPBWAgWceGcE7aep9oL/0K9mlzlMGxA8yNw==",
"dev": true,
"requires": {
- "@babel/compat-data": "^7.12.1",
- "@babel/helper-compilation-targets": "^7.12.1",
- "@babel/helper-module-imports": "^7.12.1",
+ "@babel/compat-data": "^7.12.7",
+ "@babel/helper-compilation-targets": "^7.12.5",
+ "@babel/helper-module-imports": "^7.12.5",
"@babel/helper-plugin-utils": "^7.10.4",
- "@babel/helper-validator-option": "^7.12.1",
+ "@babel/helper-validator-option": "^7.12.11",
"@babel/plugin-proposal-async-generator-functions": "^7.12.1",
"@babel/plugin-proposal-class-properties": "^7.12.1",
"@babel/plugin-proposal-dynamic-import": "^7.12.1",
@@ -902,10 +902,10 @@
"@babel/plugin-proposal-json-strings": "^7.12.1",
"@babel/plugin-proposal-logical-assignment-operators": "^7.12.1",
"@babel/plugin-proposal-nullish-coalescing-operator": "^7.12.1",
- "@babel/plugin-proposal-numeric-separator": "^7.12.1",
+ "@babel/plugin-proposal-numeric-separator": "^7.12.7",
"@babel/plugin-proposal-object-rest-spread": "^7.12.1",
"@babel/plugin-proposal-optional-catch-binding": "^7.12.1",
- "@babel/plugin-proposal-optional-chaining": "^7.12.1",
+ "@babel/plugin-proposal-optional-chaining": "^7.12.7",
"@babel/plugin-proposal-private-methods": "^7.12.1",
"@babel/plugin-proposal-unicode-property-regex": "^7.12.1",
"@babel/plugin-syntax-async-generators": "^7.8.0",
@@ -923,7 +923,7 @@
"@babel/plugin-transform-arrow-functions": "^7.12.1",
"@babel/plugin-transform-async-to-generator": "^7.12.1",
"@babel/plugin-transform-block-scoped-functions": "^7.12.1",
- "@babel/plugin-transform-block-scoping": "^7.12.1",
+ "@babel/plugin-transform-block-scoping": "^7.12.11",
"@babel/plugin-transform-classes": "^7.12.1",
"@babel/plugin-transform-computed-properties": "^7.12.1",
"@babel/plugin-transform-destructuring": "^7.12.1",
@@ -947,14 +947,14 @@
"@babel/plugin-transform-reserved-words": "^7.12.1",
"@babel/plugin-transform-shorthand-properties": "^7.12.1",
"@babel/plugin-transform-spread": "^7.12.1",
- "@babel/plugin-transform-sticky-regex": "^7.12.1",
+ "@babel/plugin-transform-sticky-regex": "^7.12.7",
"@babel/plugin-transform-template-literals": "^7.12.1",
- "@babel/plugin-transform-typeof-symbol": "^7.12.1",
+ "@babel/plugin-transform-typeof-symbol": "^7.12.10",
"@babel/plugin-transform-unicode-escapes": "^7.12.1",
"@babel/plugin-transform-unicode-regex": "^7.12.1",
"@babel/preset-modules": "^0.1.3",
- "@babel/types": "^7.12.1",
- "core-js-compat": "^3.6.2",
+ "@babel/types": "^7.12.11",
+ "core-js-compat": "^3.8.0",
"semver": "^5.5.0"
}
},
@@ -972,134 +972,132 @@
}
},
"@babel/runtime": {
- "version": "7.12.1",
- "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.12.1.tgz",
- "integrity": "sha512-J5AIf3vPj3UwXaAzb5j1xM4WAQDX3EMgemF8rjCP3SoW09LfRKAXQKt6CoVYl230P6iWdRcBbnLDDdnqWxZSCA==",
+ "version": "7.12.5",
+ "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.12.5.tgz",
+ "integrity": "sha512-plcc+hbExy3McchJCEQG3knOsuh3HH+Prx1P6cLIkET/0dLuQDEnrT+s27Axgc9bqfsmNUNHfscgMUdBpC9xfg==",
"dev": true,
"requires": {
"regenerator-runtime": "^0.13.4"
}
},
"@babel/template": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.4.tgz",
- "integrity": "sha512-ZCjD27cGJFUB6nmCB1Enki3r+L5kJveX9pq1SvAUKoICy6CZ9yD8xO086YXdYhvNjBdnekm4ZnaP5yC8Cs/1tA==",
+ "version": "7.12.7",
+ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.12.7.tgz",
+ "integrity": "sha512-GkDzmHS6GV7ZeXfJZ0tLRBhZcMcY0/Lnb+eEbXDBfCAcZCjrZKe6p3J4we/D24O9Y8enxWAg1cWwof59yLh2ow==",
"dev": true,
"requires": {
"@babel/code-frame": "^7.10.4",
- "@babel/parser": "^7.10.4",
- "@babel/types": "^7.10.4"
+ "@babel/parser": "^7.12.7",
+ "@babel/types": "^7.12.7"
}
},
"@babel/traverse": {
- "version": "7.12.1",
- "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.12.1.tgz",
- "integrity": "sha512-MA3WPoRt1ZHo2ZmoGKNqi20YnPt0B1S0GTZEPhhd+hw2KGUzBlHuVunj6K4sNuK+reEvyiPwtp0cpaqLzJDmAw==",
+ "version": "7.12.12",
+ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.12.12.tgz",
+ "integrity": "sha512-s88i0X0lPy45RrLM8b9mz8RPH5FqO9G9p7ti59cToE44xFm1Q+Pjh5Gq4SXBbtb88X7Uy7pexeqRIQDDMNkL0w==",
"dev": true,
"requires": {
- "@babel/code-frame": "^7.10.4",
- "@babel/generator": "^7.12.1",
- "@babel/helper-function-name": "^7.10.4",
- "@babel/helper-split-export-declaration": "^7.11.0",
- "@babel/parser": "^7.12.1",
- "@babel/types": "^7.12.1",
+ "@babel/code-frame": "^7.12.11",
+ "@babel/generator": "^7.12.11",
+ "@babel/helper-function-name": "^7.12.11",
+ "@babel/helper-split-export-declaration": "^7.12.11",
+ "@babel/parser": "^7.12.11",
+ "@babel/types": "^7.12.12",
"debug": "^4.1.0",
"globals": "^11.1.0",
"lodash": "^4.17.19"
}
},
"@babel/types": {
- "version": "7.12.1",
- "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.1.tgz",
- "integrity": "sha512-BzSY3NJBKM4kyatSOWh3D/JJ2O3CVzBybHWxtgxnggaxEuaSTTDqeiSb/xk9lrkw2Tbqyivw5ZU4rT+EfznQsA==",
+ "version": "7.12.12",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.12.tgz",
+ "integrity": "sha512-lnIX7piTxOH22xE7fDXDbSHg9MM1/6ORnafpJmov5rs0kX5g4BZxeXNJLXsMRiO0U5Rb8/FvMS6xlTnTHvxonQ==",
"dev": true,
"requires": {
- "@babel/helper-validator-identifier": "^7.10.4",
+ "@babel/helper-validator-identifier": "^7.12.11",
"lodash": "^4.17.19",
"to-fast-properties": "^2.0.0"
}
},
+ "@discoveryjs/json-ext": {
+ "version": "0.5.2",
+ "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.2.tgz",
+ "integrity": "sha512-HyYEUDeIj5rRQU2Hk5HTB2uHsbRQpF70nvMhVzi+VJR0X+xNEhjPui4/kBf3VeH/wqD28PT4sVOm8qqLjBrSZg==",
+ "dev": true
+ },
"@fortawesome/fontawesome-pro": {
"version": "5.15.1",
"resolved": "https://npm.fontawesome.com/@fortawesome/fontawesome-pro/-/5.15.1/fontawesome-pro-5.15.1.tgz",
"integrity": "sha512-6bQonxTtpPDn/38y0vC76XAiIKqCII7EWILc1kKcOMEjjOUv67IwLMz3A9iFdfFrR1BCvXKf60ScmX3G8LU7Pw==",
"dev": true
},
- "@mrmlnc/readdir-enhanced": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz",
- "integrity": "sha512-bPHp6Ji8b41szTOcaP63VlnbbO5Ny6dwAATtY6JTjh5N2OLrb5Qk/Th5cRkRQhkWCt+EJsYrNB0MiL+Gpn6e3g==",
+ "@nodelib/fs.scandir": {
+ "version": "2.1.4",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.4.tgz",
+ "integrity": "sha512-33g3pMJk3bg5nXbL/+CY6I2eJDzZAni49PfJnL5fghPTggPvBd/pFNSgJsdAgWptuFu7qq/ERvOYFlhvsLTCKA==",
"dev": true,
"requires": {
- "call-me-maybe": "^1.0.1",
- "glob-to-regexp": "^0.3.0"
+ "@nodelib/fs.stat": "2.0.4",
+ "run-parallel": "^1.1.9"
}
},
"@nodelib/fs.stat": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz",
- "integrity": "sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw==",
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.4.tgz",
+ "integrity": "sha512-IYlHJA0clt2+Vg7bccq+TzRdJvv19c2INqBSsoOLp1je7xjtr7J26+WXR72MCdvU9q1qTzIWDfhMf+DRvQJK4Q==",
"dev": true
},
- "@types/glob": {
- "version": "7.1.3",
- "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.3.tgz",
- "integrity": "sha512-SEYeGAIQIQX8NN6LDKprLjbrd5dARM5EXsd8GI/A5l0apYI1fGMWgPHSe4ZKL4eozlAyI+doUE9XbYS4xCkQ1w==",
+ "@nodelib/fs.walk": {
+ "version": "1.2.6",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.6.tgz",
+ "integrity": "sha512-8Broas6vTtW4GIXTAHDoE32hnN2M5ykgCpWGbuXHQ15vEMqr23pB76e/GZcYsZCHALv50ktd24qhEyKr6wBtow==",
"dev": true,
"requires": {
- "@types/minimatch": "*",
- "@types/node": "*"
+ "@nodelib/fs.scandir": "2.1.4",
+ "fastq": "^1.6.0"
}
},
- "@types/json-schema": {
- "version": "7.0.6",
- "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.6.tgz",
- "integrity": "sha512-3c+yGKvVP5Y9TYBEibGNR+kLtijnj7mYrXRg+WpFb2X9xm04g/DXYkfg4hmzJQosc9snFNUPkbYIhu+KAm6jJw==",
- "dev": true
- },
- "@types/minimatch": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz",
- "integrity": "sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==",
- "dev": true
- },
- "@types/node": {
- "version": "14.11.10",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-14.11.10.tgz",
- "integrity": "sha512-yV1nWZPlMFpoXyoknm4S56y2nlTAuFYaJuQtYRAOU7xA/FJ9RY0Xm7QOkaYMMmr8ESdHIuUb6oQgR/0+2NqlyA==",
- "dev": true
- },
- "@types/q": {
- "version": "1.5.4",
- "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.4.tgz",
- "integrity": "sha512-1HcDas8SEj4z1Wc696tH56G8OlRaH/sqZOynNNB+HF0WOeXPaxTtbYzJY2oEfiUxjSKjhCKr+MvR7dCHcEelug==",
- "dev": true
- },
- "@vue/component-compiler-utils": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/@vue/component-compiler-utils/-/component-compiler-utils-3.2.0.tgz",
- "integrity": "sha512-lejBLa7xAMsfiZfNp7Kv51zOzifnb29FwdnMLa96z26kXErPFioSf9BMcePVIQ6/Gc6/mC0UrPpxAWIHyae0vw==",
+ "@types/autoprefixer": {
+ "version": "9.7.2",
+ "resolved": "https://registry.npmjs.org/@types/autoprefixer/-/autoprefixer-9.7.2.tgz",
+ "integrity": "sha512-QX7U7YW3zX3ex6MECtWO9folTGsXeP4b8bSjTq3I1ODM+H+sFHwGKuof+T+qBcDClGlCGtDb3SVfiTVfmcxw4g==",
"dev": true,
"requires": {
- "consolidate": "^0.15.1",
- "hash-sum": "^1.0.2",
- "lru-cache": "^4.1.2",
- "merge-source-map": "^1.1.0",
- "postcss": "^7.0.14",
- "postcss-selector-parser": "^6.0.2",
- "prettier": "^1.18.2",
- "source-map": "~0.6.1",
- "vue-template-es2015-compiler": "^1.9.0"
+ "@types/browserslist": "*",
+ "postcss": "7.x.x"
},
"dependencies": {
- "lru-cache": {
- "version": "4.1.5",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz",
- "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==",
+ "chalk": {
+ "version": "2.4.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
+ "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^3.2.1",
+ "escape-string-regexp": "^1.0.5",
+ "supports-color": "^5.3.0"
+ },
+ "dependencies": {
+ "supports-color": {
+ "version": "5.5.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
+ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^3.0.0"
+ }
+ }
+ }
+ },
+ "postcss": {
+ "version": "7.0.35",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz",
+ "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==",
"dev": true,
"requires": {
- "pseudomap": "^1.0.2",
- "yallist": "^2.1.2"
+ "chalk": "^2.4.2",
+ "source-map": "^0.6.1",
+ "supports-color": "^6.1.0"
}
},
"source-map": {
@@ -1108,199 +1106,532 @@
"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
"dev": true
},
- "yallist": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz",
- "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=",
- "dev": true
+ "supports-color": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz",
+ "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^3.0.0"
+ }
}
}
},
- "@webassemblyjs/ast": {
- "version": "1.9.0",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz",
- "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==",
+ "@types/babel-core": {
+ "version": "6.25.6",
+ "resolved": "https://registry.npmjs.org/@types/babel-core/-/babel-core-6.25.6.tgz",
+ "integrity": "sha512-OzYuLL6Lw0wpE8qXFIuyS0GsagzCr3beo/+AIttM7slM9cUhbgHjU3oWvgVE+uOhcZYS4NesBilF2iZj3gM4LQ==",
"dev": true,
"requires": {
- "@webassemblyjs/helper-module-context": "1.9.0",
- "@webassemblyjs/helper-wasm-bytecode": "1.9.0",
- "@webassemblyjs/wast-parser": "1.9.0"
+ "@types/babel-generator": "*",
+ "@types/babel-template": "*",
+ "@types/babel-traverse": "*",
+ "@types/babel-types": "*",
+ "@types/babylon": "*"
}
},
- "@webassemblyjs/floating-point-hex-parser": {
- "version": "1.9.0",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.9.0.tgz",
- "integrity": "sha512-TG5qcFsS8QB4g4MhrxK5TqfdNe7Ey/7YL/xN+36rRjl/BlGE/NcBvJcqsRgCP6Z92mRE+7N50pRIi8SmKUbcQA==",
- "dev": true
- },
- "@webassemblyjs/helper-api-error": {
- "version": "1.9.0",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz",
- "integrity": "sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw==",
- "dev": true
+ "@types/babel-generator": {
+ "version": "6.25.3",
+ "resolved": "https://registry.npmjs.org/@types/babel-generator/-/babel-generator-6.25.3.tgz",
+ "integrity": "sha512-pGgnuxVddKcYIc+VJkRDop7gxLhqclNKBdlsm/5Vp8d+37pQkkDK7fef8d9YYImRzw9xcojEPc18pUYnbxmjqA==",
+ "dev": true,
+ "requires": {
+ "@types/babel-types": "*"
+ }
},
- "@webassemblyjs/helper-buffer": {
- "version": "1.9.0",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.0.tgz",
- "integrity": "sha512-qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA==",
- "dev": true
+ "@types/babel-template": {
+ "version": "6.25.2",
+ "resolved": "https://registry.npmjs.org/@types/babel-template/-/babel-template-6.25.2.tgz",
+ "integrity": "sha512-QKtDQRJmAz3Y1HSxfMl0syIHebMc/NnOeH/8qeD0zjgU2juD0uyC922biMxCy5xjTNvHinigML2l8kxE8eEBmw==",
+ "dev": true,
+ "requires": {
+ "@types/babel-types": "*",
+ "@types/babylon": "*"
+ }
},
- "@webassemblyjs/helper-code-frame": {
- "version": "1.9.0",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.9.0.tgz",
- "integrity": "sha512-ERCYdJBkD9Vu4vtjUYe8LZruWuNIToYq/ME22igL+2vj2dQ2OOujIZr3MEFvfEaqKoVqpsFKAGsRdBSBjrIvZA==",
+ "@types/babel-traverse": {
+ "version": "6.25.5",
+ "resolved": "https://registry.npmjs.org/@types/babel-traverse/-/babel-traverse-6.25.5.tgz",
+ "integrity": "sha512-WrMbwmu+MWf8FiUMbmVOGkc7bHPzndUafn1CivMaBHthBBoo0VNIcYk1KV71UovYguhsNOwf3UF5oRmkkGOU3w==",
"dev": true,
"requires": {
- "@webassemblyjs/wast-printer": "1.9.0"
+ "@types/babel-types": "*"
}
},
- "@webassemblyjs/helper-fsm": {
- "version": "1.9.0",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.9.0.tgz",
- "integrity": "sha512-OPRowhGbshCb5PxJ8LocpdX9Kl0uB4XsAjl6jH/dWKlk/mzsANvhwbiULsaiqT5GZGT9qinTICdj6PLuM5gslw==",
+ "@types/babel-types": {
+ "version": "7.0.9",
+ "resolved": "https://registry.npmjs.org/@types/babel-types/-/babel-types-7.0.9.tgz",
+ "integrity": "sha512-qZLoYeXSTgQuK1h7QQS16hqLGdmqtRmN8w/rl3Au/l5x/zkHx+a4VHrHyBsi1I1vtK2oBHxSzKIu0R5p6spdOA==",
"dev": true
},
- "@webassemblyjs/helper-module-context": {
- "version": "1.9.0",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.9.0.tgz",
- "integrity": "sha512-MJCW8iGC08tMk2enck1aPW+BE5Cw8/7ph/VGZxwyvGbJwjktKkDK7vy7gAmMDx88D7mhDTCNKAW5tED+gZ0W8g==",
+ "@types/babylon": {
+ "version": "6.16.5",
+ "resolved": "https://registry.npmjs.org/@types/babylon/-/babylon-6.16.5.tgz",
+ "integrity": "sha512-xH2e58elpj1X4ynnKp9qSnWlsRTIs6n3tgLGNfwAGHwePw0mulHQllV34n0T25uYSu1k0hRKkWXF890B1yS47w==",
"dev": true,
"requires": {
- "@webassemblyjs/ast": "1.9.0"
+ "@types/babel-types": "*"
}
},
- "@webassemblyjs/helper-wasm-bytecode": {
- "version": "1.9.0",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz",
- "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==",
+ "@types/browser-sync": {
+ "version": "2.26.1",
+ "resolved": "https://registry.npmjs.org/@types/browser-sync/-/browser-sync-2.26.1.tgz",
+ "integrity": "sha512-zuz0uF2QccSVbG4ubkjVDlQYpeBX/JXvmlqFFmp04FYOXunXZtx0y+UdWJxu7uryMMGkQykujUMm/ju85kqI7Q==",
+ "dev": true,
+ "requires": {
+ "@types/micromatch": "^2",
+ "@types/node": "*",
+ "@types/serve-static": "*",
+ "chokidar": "^2.1.2"
+ }
+ },
+ "@types/browserslist": {
+ "version": "4.8.0",
+ "resolved": "https://registry.npmjs.org/@types/browserslist/-/browserslist-4.8.0.tgz",
+ "integrity": "sha512-4PyO9OM08APvxxo1NmQyQKlJdowPCOQIy5D/NLO3aO0vGC57wsMptvGp3b8IbYnupFZr92l1dlVief1JvS6STQ==",
"dev": true
},
- "@webassemblyjs/helper-wasm-section": {
- "version": "1.9.0",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.0.tgz",
- "integrity": "sha512-XnMB8l3ek4tvrKUUku+IVaXNHz2YsJyOOmz+MMkZvh8h1uSJpSen6vYnw3IoQ7WwEuAhL8Efjms1ZWjqh2agvw==",
+ "@types/clean-css": {
+ "version": "4.2.3",
+ "resolved": "https://registry.npmjs.org/@types/clean-css/-/clean-css-4.2.3.tgz",
+ "integrity": "sha512-ET0ldU/vpXecy5vO8JRIhtJWSrk1vzXdJcp3Bjf8bARZynl6vfkhEKY/A7njfNIRlmyTGuVFuqnD6I3tOGdXpQ==",
"dev": true,
"requires": {
- "@webassemblyjs/ast": "1.9.0",
- "@webassemblyjs/helper-buffer": "1.9.0",
- "@webassemblyjs/helper-wasm-bytecode": "1.9.0",
- "@webassemblyjs/wasm-gen": "1.9.0"
+ "@types/node": "*",
+ "source-map": "^0.6.0"
+ },
+ "dependencies": {
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "dev": true
+ }
}
},
- "@webassemblyjs/ieee754": {
- "version": "1.9.0",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.9.0.tgz",
- "integrity": "sha512-dcX8JuYU/gvymzIHc9DgxTzUUTLexWwt8uCTWP3otys596io0L5aW02Gb1RjYpx2+0Jus1h4ZFqjla7umFniTg==",
+ "@types/cssnano": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/@types/cssnano/-/cssnano-4.0.0.tgz",
+ "integrity": "sha512-BC/2ibKZfPIaBLBNzkitdW1IvvX/LKW6/QXGc4Su/tAJ7mQ3f2CKBuGCCKaqGAnoKwzfuC7G/recpkARwdOwuA==",
"dev": true,
"requires": {
- "@xtuc/ieee754": "^1.2.0"
+ "postcss": "5 - 7"
+ },
+ "dependencies": {
+ "chalk": {
+ "version": "2.4.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
+ "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^3.2.1",
+ "escape-string-regexp": "^1.0.5",
+ "supports-color": "^5.3.0"
+ },
+ "dependencies": {
+ "supports-color": {
+ "version": "5.5.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
+ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^3.0.0"
+ }
+ }
+ }
+ },
+ "postcss": {
+ "version": "7.0.35",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz",
+ "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==",
+ "dev": true,
+ "requires": {
+ "chalk": "^2.4.2",
+ "source-map": "^0.6.1",
+ "supports-color": "^6.1.0"
+ }
+ },
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz",
+ "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^3.0.0"
+ }
+ }
}
},
- "@webassemblyjs/leb128": {
- "version": "1.9.0",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.9.0.tgz",
- "integrity": "sha512-ENVzM5VwV1ojs9jam6vPys97B/S65YQtv/aanqnU7D8aSoHFX8GyhGg0CMfyKNIHBuAVjy3tlzd5QMMINa7wpw==",
+ "@types/eslint": {
+ "version": "7.2.6",
+ "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-7.2.6.tgz",
+ "integrity": "sha512-I+1sYH+NPQ3/tVqCeUSBwTE/0heyvtXqpIopUUArlBm0Kpocb8FbMa3AZ/ASKIFpN3rnEx932TTXDbt9OXsNDw==",
"dev": true,
"requires": {
- "@xtuc/long": "4.2.2"
+ "@types/estree": "*",
+ "@types/json-schema": "*"
}
},
- "@webassemblyjs/utf8": {
- "version": "1.9.0",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.9.0.tgz",
- "integrity": "sha512-GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w==",
+ "@types/eslint-scope": {
+ "version": "3.7.0",
+ "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.0.tgz",
+ "integrity": "sha512-O/ql2+rrCUe2W2rs7wMR+GqPRcgB6UiqN5RhrR5xruFlY7l9YLMn0ZkDzjoHLeiFkR8MCQZVudUuuvQ2BLC9Qw==",
+ "dev": true,
+ "requires": {
+ "@types/eslint": "*",
+ "@types/estree": "*"
+ }
+ },
+ "@types/estree": {
+ "version": "0.0.45",
+ "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.45.tgz",
+ "integrity": "sha512-jnqIUKDUqJbDIUxm0Uj7bnlMnRm1T/eZ9N+AVMqhPgzrba2GhGG5o/jCTwmdPK709nEZsGoMzXEDUjcXHa3W0g==",
"dev": true
},
- "@webassemblyjs/wasm-edit": {
- "version": "1.9.0",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.0.tgz",
- "integrity": "sha512-FgHzBm80uwz5M8WKnMTn6j/sVbqilPdQXTWraSjBwFXSYGirpkSWE2R9Qvz9tNiTKQvoKILpCuTjBKzOIm0nxw==",
+ "@types/glob": {
+ "version": "7.1.3",
+ "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.3.tgz",
+ "integrity": "sha512-SEYeGAIQIQX8NN6LDKprLjbrd5dARM5EXsd8GI/A5l0apYI1fGMWgPHSe4ZKL4eozlAyI+doUE9XbYS4xCkQ1w==",
"dev": true,
"requires": {
- "@webassemblyjs/ast": "1.9.0",
- "@webassemblyjs/helper-buffer": "1.9.0",
- "@webassemblyjs/helper-wasm-bytecode": "1.9.0",
- "@webassemblyjs/helper-wasm-section": "1.9.0",
- "@webassemblyjs/wasm-gen": "1.9.0",
- "@webassemblyjs/wasm-opt": "1.9.0",
- "@webassemblyjs/wasm-parser": "1.9.0",
- "@webassemblyjs/wast-printer": "1.9.0"
+ "@types/minimatch": "*",
+ "@types/node": "*"
}
},
- "@webassemblyjs/wasm-gen": {
- "version": "1.9.0",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.0.tgz",
- "integrity": "sha512-cPE3o44YzOOHvlsb4+E9qSqjc9Qf9Na1OO/BHFy4OI91XDE14MjFN4lTMezzaIWdPqHnsTodGGNP+iRSYfGkjA==",
+ "@types/http-proxy": {
+ "version": "1.17.4",
+ "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.4.tgz",
+ "integrity": "sha512-IrSHl2u6AWXduUaDLqYpt45tLVCtYv7o4Z0s1KghBCDgIIS9oW5K1H8mZG/A2CfeLdEa7rTd1ACOiHBc1EMT2Q==",
"dev": true,
"requires": {
- "@webassemblyjs/ast": "1.9.0",
- "@webassemblyjs/helper-wasm-bytecode": "1.9.0",
- "@webassemblyjs/ieee754": "1.9.0",
- "@webassemblyjs/leb128": "1.9.0",
- "@webassemblyjs/utf8": "1.9.0"
+ "@types/node": "*"
}
},
- "@webassemblyjs/wasm-opt": {
- "version": "1.9.0",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.0.tgz",
- "integrity": "sha512-Qkjgm6Anhm+OMbIL0iokO7meajkzQD71ioelnfPEj6r4eOFuqm4YC3VBPqXjFyyNwowzbMD+hizmprP/Fwkl2A==",
+ "@types/imagemin": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/@types/imagemin/-/imagemin-7.0.0.tgz",
+ "integrity": "sha512-BiNd5FazD5ZmJUYD9txsbrttL0P0welrb9yAPn6ykKK3kWufwFsxYqw5KdggfZQDjiNYwsBrX+Fwei0Xsw4oAw==",
"dev": true,
"requires": {
- "@webassemblyjs/ast": "1.9.0",
- "@webassemblyjs/helper-buffer": "1.9.0",
- "@webassemblyjs/wasm-gen": "1.9.0",
- "@webassemblyjs/wasm-parser": "1.9.0"
+ "@types/node": "*"
}
},
- "@webassemblyjs/wasm-parser": {
- "version": "1.9.0",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.0.tgz",
- "integrity": "sha512-9+wkMowR2AmdSWQzsPEjFU7njh8HTO5MqO8vjwEHuM+AMHioNqSBONRdr0NQQ3dVQrzp0s8lTcYqzUdb7YgELA==",
+ "@types/imagemin-gifsicle": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/@types/imagemin-gifsicle/-/imagemin-gifsicle-7.0.0.tgz",
+ "integrity": "sha512-RVFQZhPm/6vLC8wDvzHa34ZDrJECqmDV4XBS99AEk2ObyV4pcLQwObGYlmBv6fi9AtRLHf8mnKGczIHtF77u7w==",
"dev": true,
"requires": {
- "@webassemblyjs/ast": "1.9.0",
- "@webassemblyjs/helper-api-error": "1.9.0",
- "@webassemblyjs/helper-wasm-bytecode": "1.9.0",
- "@webassemblyjs/ieee754": "1.9.0",
- "@webassemblyjs/leb128": "1.9.0",
- "@webassemblyjs/utf8": "1.9.0"
+ "@types/imagemin": "*"
}
},
- "@webassemblyjs/wast-parser": {
- "version": "1.9.0",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.9.0.tgz",
- "integrity": "sha512-qsqSAP3QQ3LyZjNC/0jBJ/ToSxfYJ8kYyuiGvtn/8MK89VrNEfwj7BPQzJVHi0jGTRK2dGdJ5PRqhtjzoww+bw==",
+ "@types/imagemin-mozjpeg": {
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/@types/imagemin-mozjpeg/-/imagemin-mozjpeg-8.0.0.tgz",
+ "integrity": "sha512-sR2nEZOrlbgnmVgG+lXetZOvhgtctLe1hBfvySnPnxDd2pOon9mMPq7SHFI89VZT1AXvFgRs8w6X8ik8potpgA==",
"dev": true,
"requires": {
- "@webassemblyjs/ast": "1.9.0",
- "@webassemblyjs/floating-point-hex-parser": "1.9.0",
- "@webassemblyjs/helper-api-error": "1.9.0",
- "@webassemblyjs/helper-code-frame": "1.9.0",
- "@webassemblyjs/helper-fsm": "1.9.0",
- "@xtuc/long": "4.2.2"
+ "@types/imagemin": "*"
}
},
- "@webassemblyjs/wast-printer": {
- "version": "1.9.0",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz",
- "integrity": "sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA==",
+ "@types/imagemin-optipng": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/@types/imagemin-optipng/-/imagemin-optipng-5.2.0.tgz",
+ "integrity": "sha512-Qn4gTV1fpPG2WIsUIl10yi2prudOuDIx+D+O0H3aKZRcTCwpMjszBVeRWUqkhG5wADhWO4giLut1sFNr3H2XIQ==",
"dev": true,
"requires": {
- "@webassemblyjs/ast": "1.9.0",
- "@webassemblyjs/wast-parser": "1.9.0",
- "@xtuc/long": "4.2.2"
+ "@types/imagemin": "*"
}
},
- "@xtuc/ieee754": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz",
- "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==",
- "dev": true
+ "@types/imagemin-svgo": {
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/@types/imagemin-svgo/-/imagemin-svgo-8.0.0.tgz",
+ "integrity": "sha512-CtQRrH4A7dkNEwix5n+rIuKCOvcZYd/G6jRJ+7RkgjTJ0AVWXoqX4exf/lipQY3cUOCv4X2voG/r0pICoTW8mw==",
+ "dev": true,
+ "requires": {
+ "@types/imagemin": "*",
+ "@types/svgo": "*"
+ }
},
- "@xtuc/long": {
- "version": "4.2.2",
- "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz",
- "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==",
+ "@types/json-schema": {
+ "version": "7.0.6",
+ "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.6.tgz",
+ "integrity": "sha512-3c+yGKvVP5Y9TYBEibGNR+kLtijnj7mYrXRg+WpFb2X9xm04g/DXYkfg4hmzJQosc9snFNUPkbYIhu+KAm6jJw==",
+ "dev": true
+ },
+ "@types/micromatch": {
+ "version": "2.3.30",
+ "resolved": "https://registry.npmjs.org/@types/micromatch/-/micromatch-2.3.30.tgz",
+ "integrity": "sha512-6rW4NsUHaDudxJSuRlm1PdNu61CDXkgix7LBOBg7b3yWQ43XANYSPwkvX1cGiZvBVZW8c5rsCEfrfzbPkch8ag==",
+ "dev": true,
+ "requires": {
+ "@types/parse-glob": "*"
+ }
+ },
+ "@types/mime": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/@types/mime/-/mime-2.0.3.tgz",
+ "integrity": "sha512-Jus9s4CDbqwocc5pOAnh8ShfrnMcPHuJYzVcSUU7lrh8Ni5HuIqX3oilL86p3dlTrk0LzHRCgA/GQ7uNCw6l2Q==",
+ "dev": true
+ },
+ "@types/minimatch": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz",
+ "integrity": "sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==",
+ "dev": true
+ },
+ "@types/node": {
+ "version": "14.14.16",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.16.tgz",
+ "integrity": "sha512-naXYePhweTi+BMv11TgioE2/FXU4fSl29HAH1ffxVciNsH3rYXjNP2yM8wqmSm7jS20gM8TIklKiTen+1iVncw==",
+ "dev": true
+ },
+ "@types/parse-glob": {
+ "version": "3.0.29",
+ "resolved": "https://registry.npmjs.org/@types/parse-glob/-/parse-glob-3.0.29.tgz",
+ "integrity": "sha1-akDsfr0kGO5p7jl+SOQhaSaKEL8=",
+ "dev": true
+ },
+ "@types/parse-json": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz",
+ "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==",
+ "dev": true
+ },
+ "@types/q": {
+ "version": "1.5.4",
+ "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.4.tgz",
+ "integrity": "sha512-1HcDas8SEj4z1Wc696tH56G8OlRaH/sqZOynNNB+HF0WOeXPaxTtbYzJY2oEfiUxjSKjhCKr+MvR7dCHcEelug==",
+ "dev": true
+ },
+ "@types/retry": {
+ "version": "0.12.0",
+ "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.0.tgz",
+ "integrity": "sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==",
+ "dev": true
+ },
+ "@types/serve-static": {
+ "version": "1.13.8",
+ "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.13.8.tgz",
+ "integrity": "sha512-MoJhSQreaVoL+/hurAZzIm8wafFR6ajiTM1m4A0kv6AGeVBl4r4pOV8bGFrjjq1sGxDTnCoF8i22o0/aE5XCyA==",
+ "dev": true,
+ "requires": {
+ "@types/mime": "*",
+ "@types/node": "*"
+ }
+ },
+ "@types/svgo": {
+ "version": "1.3.3",
+ "resolved": "https://registry.npmjs.org/@types/svgo/-/svgo-1.3.3.tgz",
+ "integrity": "sha512-eDLVUvvTn+mol3NpP211DTH9JzSS6YKssRIhHNmXk5BiCl+gc4s+xQQjRFTSsGBohmka5qBsHX6qhL4x88Wkvg==",
+ "dev": true
+ },
+ "@webassemblyjs/ast": {
+ "version": "1.9.1",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.1.tgz",
+ "integrity": "sha512-uMu1nCWn2Wxyy126LlGqRVlhdTOsO/bsBRI4dNq3+6SiSuRKRQX6ejjKgh82LoGAPSq72lDUiQ4FWVaf0PecYw==",
+ "dev": true,
+ "requires": {
+ "@webassemblyjs/helper-module-context": "1.9.1",
+ "@webassemblyjs/helper-wasm-bytecode": "1.9.1",
+ "@webassemblyjs/wast-parser": "1.9.1"
+ }
+ },
+ "@webassemblyjs/floating-point-hex-parser": {
+ "version": "1.9.1",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.9.1.tgz",
+ "integrity": "sha512-5VEKu024RySmLKTTBl9q1eO/2K5jk9ZS+2HXDBLA9s9p5IjkaXxWiDb/+b7wSQp6FRdLaH1IVGIfOex58Na2pg==",
+ "dev": true
+ },
+ "@webassemblyjs/helper-api-error": {
+ "version": "1.9.1",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.1.tgz",
+ "integrity": "sha512-y1lGmfm38djrScwpeL37rRR9f1D6sM8RhMpvM7CYLzOlHVboouZokXK/G88BpzW0NQBSvCCOnW5BFhten4FPfA==",
+ "dev": true
+ },
+ "@webassemblyjs/helper-buffer": {
+ "version": "1.9.1",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.1.tgz",
+ "integrity": "sha512-uS6VSgieHbk/m4GSkMU5cqe/5TekdCzQso4revCIEQ3vpGZgqSSExi4jWpTWwDpAHOIAb1Jfrs0gUB9AA4n71w==",
+ "dev": true
+ },
+ "@webassemblyjs/helper-code-frame": {
+ "version": "1.9.1",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.9.1.tgz",
+ "integrity": "sha512-ZQ2ZT6Evk4DPIfD+92AraGYaFIqGm4U20e7FpXwl7WUo2Pn1mZ1v8VGH8i+Y++IQpxPbQo/UyG0Khs7eInskzA==",
+ "dev": true,
+ "requires": {
+ "@webassemblyjs/wast-printer": "1.9.1"
+ }
+ },
+ "@webassemblyjs/helper-fsm": {
+ "version": "1.9.1",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.9.1.tgz",
+ "integrity": "sha512-J32HGpveEqqcKFS0YbgicB0zAlpfIxJa5MjxDxhu3i5ltPcVfY5EPvKQ1suRguFPehxiUs+/hfkwPEXom/l0lw==",
+ "dev": true
+ },
+ "@webassemblyjs/helper-module-context": {
+ "version": "1.9.1",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.9.1.tgz",
+ "integrity": "sha512-IEH2cMmEQKt7fqelLWB5e/cMdZXf2rST1JIrzWmf4XBt3QTxGdnnLvV4DYoN8pJjOx0VYXsWg+yF16MmJtolZg==",
+ "dev": true,
+ "requires": {
+ "@webassemblyjs/ast": "1.9.1"
+ }
+ },
+ "@webassemblyjs/helper-wasm-bytecode": {
+ "version": "1.9.1",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.1.tgz",
+ "integrity": "sha512-i2rGTBqFUcSXxyjt2K4vm/3kkHwyzG6o427iCjcIKjOqpWH8SEem+xe82jUk1iydJO250/CvE5o7hzNAMZf0dQ==",
+ "dev": true
+ },
+ "@webassemblyjs/helper-wasm-section": {
+ "version": "1.9.1",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.1.tgz",
+ "integrity": "sha512-FetqzjtXZr2d57IECK+aId3D0IcGweeM0CbAnJHkYJkcRTHP+YcMb7Wmc0j21h5UWBpwYGb9dSkK/93SRCTrGg==",
+ "dev": true,
+ "requires": {
+ "@webassemblyjs/ast": "1.9.1",
+ "@webassemblyjs/helper-buffer": "1.9.1",
+ "@webassemblyjs/helper-wasm-bytecode": "1.9.1",
+ "@webassemblyjs/wasm-gen": "1.9.1"
+ }
+ },
+ "@webassemblyjs/ieee754": {
+ "version": "1.9.1",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.9.1.tgz",
+ "integrity": "sha512-EvTG9M78zP1MmkBpUjGQHZc26DzPGZSLIPxYHCjQsBMo60Qy2W34qf8z0exRDtxBbRIoiKa5dFyWer/7r1aaSQ==",
+ "dev": true,
+ "requires": {
+ "@xtuc/ieee754": "^1.2.0"
+ }
+ },
+ "@webassemblyjs/leb128": {
+ "version": "1.9.1",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.9.1.tgz",
+ "integrity": "sha512-Oc04ub0vFfLnF+2/+ki3AE+anmW4sv9uNBqb+79fgTaPv6xJsOT0dhphNfL3FrME84CbX/D1T9XT8tjFo0IIiw==",
+ "dev": true,
+ "requires": {
+ "@xtuc/long": "4.2.2"
+ }
+ },
+ "@webassemblyjs/utf8": {
+ "version": "1.9.1",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.9.1.tgz",
+ "integrity": "sha512-llkYtppagjCodFjo0alWOUhAkfOiQPQDIc5oA6C9sFAXz7vC9QhZf/f8ijQIX+A9ToM3c9Pq85X0EX7nx9gVhg==",
+ "dev": true
+ },
+ "@webassemblyjs/wasm-edit": {
+ "version": "1.9.1",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.1.tgz",
+ "integrity": "sha512-S2IaD6+x9B2Xi8BCT0eGsrXXd8UxAh2LVJpg1ZMtHXnrDcsTtIX2bDjHi40Hio6Lc62dWHmKdvksI+MClCYbbw==",
+ "dev": true,
+ "requires": {
+ "@webassemblyjs/ast": "1.9.1",
+ "@webassemblyjs/helper-buffer": "1.9.1",
+ "@webassemblyjs/helper-wasm-bytecode": "1.9.1",
+ "@webassemblyjs/helper-wasm-section": "1.9.1",
+ "@webassemblyjs/wasm-gen": "1.9.1",
+ "@webassemblyjs/wasm-opt": "1.9.1",
+ "@webassemblyjs/wasm-parser": "1.9.1",
+ "@webassemblyjs/wast-printer": "1.9.1"
+ }
+ },
+ "@webassemblyjs/wasm-gen": {
+ "version": "1.9.1",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.1.tgz",
+ "integrity": "sha512-bqWI0S4lBQsEN5FTZ35vYzfKUJvtjNnBobB1agCALH30xNk1LToZ7Z8eiaR/Z5iVECTlBndoRQV3F6mbEqE/fg==",
+ "dev": true,
+ "requires": {
+ "@webassemblyjs/ast": "1.9.1",
+ "@webassemblyjs/helper-wasm-bytecode": "1.9.1",
+ "@webassemblyjs/ieee754": "1.9.1",
+ "@webassemblyjs/leb128": "1.9.1",
+ "@webassemblyjs/utf8": "1.9.1"
+ }
+ },
+ "@webassemblyjs/wasm-opt": {
+ "version": "1.9.1",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.1.tgz",
+ "integrity": "sha512-gSf7I7YWVXZ5c6XqTEqkZjVs8K1kc1k57vsB6KBQscSagDNbAdxt6MwuJoMjsE1yWY1tsuL+pga268A6u+Fdkg==",
+ "dev": true,
+ "requires": {
+ "@webassemblyjs/ast": "1.9.1",
+ "@webassemblyjs/helper-buffer": "1.9.1",
+ "@webassemblyjs/wasm-gen": "1.9.1",
+ "@webassemblyjs/wasm-parser": "1.9.1"
+ }
+ },
+ "@webassemblyjs/wasm-parser": {
+ "version": "1.9.1",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.1.tgz",
+ "integrity": "sha512-ImM4N2T1MEIond0MyE3rXvStVxEmivQrDKf/ggfh5pP6EHu3lL/YTAoSrR7shrbKNPpeKpGesW1LIK/L4kqduw==",
+ "dev": true,
+ "requires": {
+ "@webassemblyjs/ast": "1.9.1",
+ "@webassemblyjs/helper-api-error": "1.9.1",
+ "@webassemblyjs/helper-wasm-bytecode": "1.9.1",
+ "@webassemblyjs/ieee754": "1.9.1",
+ "@webassemblyjs/leb128": "1.9.1",
+ "@webassemblyjs/utf8": "1.9.1"
+ }
+ },
+ "@webassemblyjs/wast-parser": {
+ "version": "1.9.1",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.9.1.tgz",
+ "integrity": "sha512-2xVxejXSvj3ls/o2TR/zI6p28qsGupjHhnHL6URULQRcXmryn3w7G83jQMcT7PHqUfyle65fZtWLukfdLdE7qw==",
+ "dev": true,
+ "requires": {
+ "@webassemblyjs/ast": "1.9.1",
+ "@webassemblyjs/floating-point-hex-parser": "1.9.1",
+ "@webassemblyjs/helper-api-error": "1.9.1",
+ "@webassemblyjs/helper-code-frame": "1.9.1",
+ "@webassemblyjs/helper-fsm": "1.9.1",
+ "@xtuc/long": "4.2.2"
+ }
+ },
+ "@webassemblyjs/wast-printer": {
+ "version": "1.9.1",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.9.1.tgz",
+ "integrity": "sha512-tDV8V15wm7mmbAH6XvQRU1X+oPGmeOzYsd6h7hlRLz6QpV4Ec/KKxM8OpLtFmQPLCreGxTp+HuxtH4pRIZyL9w==",
+ "dev": true,
+ "requires": {
+ "@webassemblyjs/ast": "1.9.1",
+ "@webassemblyjs/wast-parser": "1.9.1",
+ "@xtuc/long": "4.2.2"
+ }
+ },
+ "@webpack-cli/info": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-1.2.0.tgz",
+ "integrity": "sha512-+wA8lBKopgKmN76BSGJVJby5ZXDlsrO6p/nm7fUBsHznRNWB/ozotJP7Yfcz8JPfqeG2LxwYlTH2u6D9a/0XAw==",
+ "dev": true,
+ "requires": {
+ "envinfo": "^7.7.3"
+ }
+ },
+ "@webpack-cli/serve": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-1.2.0.tgz",
+ "integrity": "sha512-jI3P7jMp/AXDSPkM+ClwRcJZbxnlvNC8bVZBmyRr4scMMZ4p5WQcXkw3Q+Hc7RQekomJlBMN+UQGliT4hhG8Vw==",
+ "dev": true
+ },
+ "@xtuc/ieee754": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz",
+ "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==",
+ "dev": true
+ },
+ "@xtuc/long": {
+ "version": "4.2.2",
+ "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz",
+ "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==",
"dev": true
},
"accepts": {
@@ -1314,9 +1645,9 @@
}
},
"acorn": {
- "version": "6.4.2",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz",
- "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==",
+ "version": "8.0.4",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.0.4.tgz",
+ "integrity": "sha512-XNP0PqF1XD19ZlLKvB7cMmnZswW4C/03pRHgirB30uSJTaS3A3V1/P4sS3HPvFmjoriPCJQs+JDSbm4bL1TxGQ==",
"dev": true
},
"aggregate-error": {
@@ -1341,12 +1672,6 @@
"uri-js": "^4.2.2"
}
},
- "ajv-errors": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz",
- "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==",
- "dev": true
- },
"ajv-keywords": {
"version": "3.5.2",
"resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz",
@@ -1359,10 +1684,16 @@
"integrity": "sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM=",
"dev": true
},
+ "alpinejs": {
+ "version": "2.8.0",
+ "resolved": "https://registry.npmjs.org/alpinejs/-/alpinejs-2.8.0.tgz",
+ "integrity": "sha512-UHvE71BBYHJa6+RxjMwM0g4eokq+5yG1QO5C6VieUu0MVPlsUSlwvrh19VVZQApNIlQsgcvQUhIalzAIgoAPoA==",
+ "dev": true
+ },
"ansi-colors": {
- "version": "3.2.4",
- "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.4.tgz",
- "integrity": "sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA==",
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz",
+ "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==",
"dev": true
},
"ansi-html": {
@@ -1372,9 +1703,9 @@
"dev": true
},
"ansi-regex": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
- "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz",
+ "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==",
"dev": true
},
"ansi-styles": {
@@ -1407,12 +1738,6 @@
}
}
},
- "aproba": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz",
- "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==",
- "dev": true
- },
"argparse": {
"version": "1.0.10",
"resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
@@ -1440,6 +1765,12 @@
"integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=",
"dev": true
},
+ "array-filter": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/array-filter/-/array-filter-1.0.0.tgz",
+ "integrity": "sha1-uveeYubvTCpMC4MSMtr/7CUfnYM=",
+ "dev": true
+ },
"array-flatten": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz",
@@ -1447,18 +1778,9 @@
"dev": true
},
"array-union": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz",
- "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=",
- "dev": true,
- "requires": {
- "array-uniq": "^1.0.1"
- }
- },
- "array-uniq": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz",
- "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=",
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz",
+ "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==",
"dev": true
},
"array-unique": {
@@ -1467,12 +1789,6 @@
"integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=",
"dev": true
},
- "arrify": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz",
- "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=",
- "dev": true
- },
"asn1.js": {
"version": "5.4.1",
"resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz",
@@ -1526,12 +1842,6 @@
"integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=",
"dev": true
},
- "ast-types": {
- "version": "0.9.6",
- "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.9.6.tgz",
- "integrity": "sha1-ECyenpAF0+fjgpvwxPok7oYu6bk=",
- "dev": true
- },
"async": {
"version": "2.6.3",
"resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz",
@@ -1547,10 +1857,10 @@
"integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==",
"dev": true
},
- "async-limiter": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz",
- "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==",
+ "at-least-node": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz",
+ "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==",
"dev": true
},
"atob": {
@@ -1560,102 +1870,56 @@
"dev": true
},
"autoprefixer": {
- "version": "9.8.6",
- "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.8.6.tgz",
- "integrity": "sha512-XrvP4VVHdRBCdX1S3WXVD8+RyG9qeb1D5Sn1DeLiG2xfSpzellk5k54xbUERJ3M5DggQxes39UGOTP8CFrEGbg==",
+ "version": "10.1.0",
+ "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.1.0.tgz",
+ "integrity": "sha512-0/lBNwN+ZUnb5su18NZo5MBIjDaq6boQKZcxwy86Gip/CmXA2zZqUoFQLCNAGI5P25ZWSP2RWdhDJ8osfKEjoQ==",
"dev": true,
"requires": {
- "browserslist": "^4.12.0",
- "caniuse-lite": "^1.0.30001109",
+ "browserslist": "^4.15.0",
+ "caniuse-lite": "^1.0.30001165",
"colorette": "^1.2.1",
+ "fraction.js": "^4.0.12",
"normalize-range": "^0.1.2",
- "num2fraction": "^1.2.2",
- "postcss": "^7.0.32",
"postcss-value-parser": "^4.1.0"
}
},
- "axios": {
- "version": "0.20.0",
- "resolved": "https://registry.npmjs.org/axios/-/axios-0.20.0.tgz",
- "integrity": "sha512-ANA4rr2BDcmmAQLOKft2fufrtuvlqR+cXNNinUmvfeSNCOF98PZL+7M/v1zIdGo7OLjEA9J2gXJL+j4zGsl0bA==",
+ "available-typed-arrays": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.2.tgz",
+ "integrity": "sha512-XWX3OX8Onv97LMk/ftVyBibpGwY5a8SmuxZPzeOxqmuEqUCOM9ZE+uIaD1VNJ5QnvU2UQusvmKbuM1FR8QWGfQ==",
"dev": true,
"requires": {
- "follow-redirects": "^1.10.0"
- },
- "dependencies": {
- "follow-redirects": {
- "version": "1.13.0",
- "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.13.0.tgz",
- "integrity": "sha512-aq6gF1BEKje4a9i9+5jimNFIpq4Q1WiwBToeRK5NvZBd/TRsmW8BsJfOEGkr76TbOyPVD3OVDN910EcUNtRYEA==",
- "dev": true
- }
+ "array-filter": "^1.0.0"
}
},
- "babel-code-frame": {
- "version": "6.26.0",
- "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz",
- "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=",
+ "axios": {
+ "version": "0.21.1",
+ "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.1.tgz",
+ "integrity": "sha512-dKQiRHxGD9PPRIUNIWvZhPTPpl1rf/OxTYKsqKUDjBwYylTvV7SjSHJb9ratfyzM6wCdLCOYLzs73qpg5c4iGA==",
"dev": true,
"requires": {
- "chalk": "^1.1.3",
- "esutils": "^2.0.2",
- "js-tokens": "^3.0.2"
- },
- "dependencies": {
- "ansi-styles": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
- "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
- "dev": true
- },
- "chalk": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
- "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
- "dev": true,
- "requires": {
- "ansi-styles": "^2.2.1",
- "escape-string-regexp": "^1.0.2",
- "has-ansi": "^2.0.0",
- "strip-ansi": "^3.0.0",
- "supports-color": "^2.0.0"
- }
- },
- "js-tokens": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz",
- "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=",
- "dev": true
- },
- "supports-color": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
- "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
- "dev": true
- }
+ "follow-redirects": "^1.10.0"
}
},
"babel-loader": {
- "version": "8.1.0",
- "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.1.0.tgz",
- "integrity": "sha512-7q7nC1tYOrqvUrN3LQK4GwSk/TQorZSOlO9C+RZDZpODgyN4ZlCqE5q9cDsyWOliN+aU9B4JX01xK9eJXowJLw==",
+ "version": "8.2.2",
+ "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.2.2.tgz",
+ "integrity": "sha512-JvTd0/D889PQBtUXJ2PXaKU/pjZDMtHA9V2ecm+eNRmmBCMR09a+fmpGTNwnJtFmFl5Ei7Vy47LjBb+L0wQ99g==",
"dev": true,
"requires": {
- "find-cache-dir": "^2.1.0",
+ "find-cache-dir": "^3.3.1",
"loader-utils": "^1.4.0",
- "mkdirp": "^0.5.3",
- "pify": "^4.0.1",
+ "make-dir": "^3.1.0",
"schema-utils": "^2.6.5"
}
},
"babel-merge": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/babel-merge/-/babel-merge-2.0.1.tgz",
- "integrity": "sha512-puTQQxuzS+0JlMyVdfsTVaCgzqjBXKPMv7oUANpYcHFY+7IptWZ4PZDYX+qBxrRMtrriuBA44LkKpS99EJzqVA==",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/babel-merge/-/babel-merge-3.0.0.tgz",
+ "integrity": "sha512-eBOBtHnzt9xvnjpYNI5HmaPp/b2vMveE5XggzqHnQeHJ8mFIBrBv6WZEVIj5jJ2uwTItkqKo9gWzEEcBxEq0yw==",
"dev": true,
"requires": {
- "@babel/core": "^7.0.0-beta.49",
- "deepmerge": "^2.1.0",
+ "deepmerge": "^2.2.1",
"object.omit": "^3.0.0"
}
},
@@ -1730,9 +1994,9 @@
}
},
"base64-js": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.1.tgz",
- "integrity": "sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g==",
+ "version": "1.5.1",
+ "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
+ "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==",
"dev": true
},
"batch": {
@@ -1763,12 +2027,6 @@
"file-uri-to-path": "1.0.0"
}
},
- "bluebird": {
- "version": "3.7.2",
- "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz",
- "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==",
- "dev": true
- },
"bn.js": {
"version": "5.1.3",
"resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.1.3.tgz",
@@ -1837,9 +2095,9 @@
"dev": true
},
"bootstrap": {
- "version": "4.5.3",
- "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-4.5.3.tgz",
- "integrity": "sha512-o9ppKQioXGqhw8Z7mah6KdTYpNQY//tipnkxppWhPbiSWdD+1raYsnhwEZjkTHYbGee4cVQ0Rx65EhOY/HNLcQ==",
+ "version": "5.0.0-beta1",
+ "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-5.0.0-beta1.tgz",
+ "integrity": "sha512-UrHApw/WRmT7l2rlDdn5iXr7Jps/LlMZtJlLn9G41aGDfss48hyDeYyHtX1C6NHKVcmdUarGG+ve0LZB5iHyTQ==",
"dev": true
},
"brace-expansion": {
@@ -1931,21 +2189,13 @@
}
},
"browserify-rsa": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz",
- "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=",
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz",
+ "integrity": "sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==",
"dev": true,
"requires": {
- "bn.js": "^4.1.0",
+ "bn.js": "^5.0.0",
"randombytes": "^2.0.1"
- },
- "dependencies": {
- "bn.js": {
- "version": "4.11.9",
- "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz",
- "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==",
- "dev": true
- }
}
},
"browserify-sign": {
@@ -1994,15 +2244,16 @@
}
},
"browserslist": {
- "version": "4.14.5",
- "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.14.5.tgz",
- "integrity": "sha512-Z+vsCZIvCBvqLoYkBFTwEYH3v5MCQbsAjp50ERycpOjnPmolg1Gjy4+KaWWpm8QOJt9GHkhdqAl14NpCX73CWA==",
+ "version": "4.16.0",
+ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.0.tgz",
+ "integrity": "sha512-/j6k8R0p3nxOC6kx5JGAxsnhc9ixaWJfYc+TNTzxg6+ARaESAvQGV7h0uNOB4t+pLQJZWzcrMxXOxjgsCj3dqQ==",
"dev": true,
"requires": {
- "caniuse-lite": "^1.0.30001135",
- "electron-to-chromium": "^1.3.571",
- "escalade": "^3.1.0",
- "node-releases": "^1.1.61"
+ "caniuse-lite": "^1.0.30001165",
+ "colorette": "^1.2.1",
+ "electron-to-chromium": "^1.3.621",
+ "escalade": "^3.1.1",
+ "node-releases": "^1.1.67"
}
},
"buffer": {
@@ -2046,32 +2297,6 @@
"integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=",
"dev": true
},
- "cacache": {
- "version": "13.0.1",
- "resolved": "https://registry.npmjs.org/cacache/-/cacache-13.0.1.tgz",
- "integrity": "sha512-5ZvAxd05HDDU+y9BVvcqYu2LLXmPnQ0hW62h32g4xBTgL/MppR4/04NHfj/ycM2y6lmTnbw6HVi+1eN0Psba6w==",
- "dev": true,
- "requires": {
- "chownr": "^1.1.2",
- "figgy-pudding": "^3.5.1",
- "fs-minipass": "^2.0.0",
- "glob": "^7.1.4",
- "graceful-fs": "^4.2.2",
- "infer-owner": "^1.0.4",
- "lru-cache": "^5.1.1",
- "minipass": "^3.0.0",
- "minipass-collect": "^1.0.2",
- "minipass-flush": "^1.0.5",
- "minipass-pipeline": "^1.2.2",
- "mkdirp": "^0.5.1",
- "move-concurrently": "^1.0.1",
- "p-map": "^3.0.0",
- "promise-inflight": "^1.0.1",
- "rimraf": "^2.7.1",
- "ssri": "^7.0.0",
- "unique-filename": "^1.1.1"
- }
- },
"cache-base": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz",
@@ -2089,11 +2314,15 @@
"unset-value": "^1.0.0"
}
},
- "call-me-maybe": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/call-me-maybe/-/call-me-maybe-1.0.1.tgz",
- "integrity": "sha1-JtII6onje1y95gJQoV8DHBak1ms=",
- "dev": true
+ "call-bind": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.0.tgz",
+ "integrity": "sha512-AEXsYIyyDY3MCzbwdhzG3Jx1R0J2wetQyUynn6dYHAO+bg8l1k7jwZtRv4ryryFs7EP+NDlikJlVe59jr0cM2w==",
+ "dev": true,
+ "requires": {
+ "function-bind": "^1.1.1",
+ "get-intrinsic": "^1.0.0"
+ }
},
"caller-callsite": {
"version": "2.0.0",
@@ -2120,19 +2349,19 @@
"dev": true
},
"camel-case": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-3.0.0.tgz",
- "integrity": "sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M=",
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz",
+ "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==",
"dev": true,
"requires": {
- "no-case": "^2.2.0",
- "upper-case": "^1.1.1"
+ "pascal-case": "^3.1.2",
+ "tslib": "^2.0.3"
}
},
"camelcase": {
- "version": "5.3.1",
- "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
- "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==",
+ "version": "6.2.0",
+ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.2.0.tgz",
+ "integrity": "sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg==",
"dev": true
},
"caniuse-api": {
@@ -2148,28 +2377,68 @@
}
},
"caniuse-lite": {
- "version": "1.0.30001148",
- "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001148.tgz",
- "integrity": "sha512-E66qcd0KMKZHNJQt9hiLZGE3J4zuTqE1OnU53miEVtylFbwOEmeA5OsRu90noZful+XGSQOni1aT2tiqu/9yYw==",
+ "version": "1.0.30001170",
+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001170.tgz",
+ "integrity": "sha512-Dd4d/+0tsK0UNLrZs3CvNukqalnVTRrxb5mcQm8rHL49t7V5ZaTygwXkrq+FB+dVDf++4ri8eJnFEJAB8332PA==",
"dev": true
},
"chalk": {
- "version": "2.4.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
- "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz",
+ "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==",
"dev": true,
"requires": {
- "ansi-styles": "^3.2.1",
- "escape-string-regexp": "^1.0.5",
- "supports-color": "^5.3.0"
- }
- },
- "charenc": {
- "version": "0.0.2",
- "resolved": "https://registry.npmjs.org/charenc/-/charenc-0.0.2.tgz",
- "integrity": "sha1-wKHS86cJLgN3S/qD8UwPxXkKhmc=",
- "dev": true
- },
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "dev": true,
+ "requires": {
+ "color-convert": "^2.0.1"
+ }
+ },
+ "color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dev": true,
+ "requires": {
+ "color-name": "~1.1.4"
+ }
+ },
+ "color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "dev": true
+ },
+ "has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^4.0.0"
+ }
+ }
+ }
+ },
+ "charenc": {
+ "version": "0.0.2",
+ "resolved": "https://registry.npmjs.org/charenc/-/charenc-0.0.2.tgz",
+ "integrity": "sha1-wKHS86cJLgN3S/qD8UwPxXkKhmc=",
+ "dev": true
+ },
"chokidar": {
"version": "2.1.8",
"resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz",
@@ -2190,12 +2459,6 @@
"upath": "^1.1.1"
}
},
- "chownr": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz",
- "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==",
- "dev": true
- },
"chrome-trace-event": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz",
@@ -2203,6 +2466,14 @@
"dev": true,
"requires": {
"tslib": "^1.9.0"
+ },
+ "dependencies": {
+ "tslib": {
+ "version": "1.14.1",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
+ "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
+ "dev": true
+ }
}
},
"cipher-base": {
@@ -2261,43 +2532,37 @@
"integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==",
"dev": true
},
+ "cli-table3": {
+ "version": "0.6.0",
+ "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.0.tgz",
+ "integrity": "sha512-gnB85c3MGC7Nm9I/FkiasNBOKjOiO1RNuXXarQms37q4QMpWdlbBgD/VnOStA2faG1dpXMv31RFApjX1/QdgWQ==",
+ "dev": true,
+ "requires": {
+ "colors": "^1.1.2",
+ "object-assign": "^4.1.0",
+ "string-width": "^4.2.0"
+ }
+ },
"cliui": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz",
- "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==",
+ "version": "7.0.4",
+ "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz",
+ "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==",
"dev": true,
"requires": {
- "string-width": "^3.1.0",
- "strip-ansi": "^5.2.0",
- "wrap-ansi": "^5.1.0"
- },
- "dependencies": {
- "ansi-regex": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
- "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==",
- "dev": true
- },
- "string-width": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz",
- "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==",
- "dev": true,
- "requires": {
- "emoji-regex": "^7.0.1",
- "is-fullwidth-code-point": "^2.0.0",
- "strip-ansi": "^5.1.0"
- }
- },
- "strip-ansi": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
- "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
- "dev": true,
- "requires": {
- "ansi-regex": "^4.1.0"
- }
- }
+ "string-width": "^4.2.0",
+ "strip-ansi": "^6.0.0",
+ "wrap-ansi": "^7.0.0"
+ }
+ },
+ "clone-deep": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz",
+ "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==",
+ "dev": true,
+ "requires": {
+ "is-plain-object": "^2.0.4",
+ "kind-of": "^6.0.2",
+ "shallow-clone": "^3.0.0"
}
},
"coa": {
@@ -2309,12 +2574,40 @@
"@types/q": "^1.5.1",
"chalk": "^2.4.1",
"q": "^1.1.2"
+ },
+ "dependencies": {
+ "chalk": {
+ "version": "2.4.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
+ "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^3.2.1",
+ "escape-string-regexp": "^1.0.5",
+ "supports-color": "^5.3.0"
+ }
+ }
+ }
+ },
+ "codemirror": {
+ "version": "5.58.2",
+ "resolved": "https://registry.npmjs.org/codemirror/-/codemirror-5.58.2.tgz",
+ "integrity": "sha512-K/hOh24cCwRutd1Mk3uLtjWzNISOkm4fvXiMO7LucCrqbh6aJDdtqUziim3MZUI6wOY0rvY1SlL1Ork01uMy6w==",
+ "dev": true
+ },
+ "codemirror-spell-checker": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/codemirror-spell-checker/-/codemirror-spell-checker-1.1.2.tgz",
+ "integrity": "sha1-HGYPkIlIPMtRE7m6nKGcP0mTNx4=",
+ "dev": true,
+ "requires": {
+ "typo-js": "*"
}
},
"collect.js": {
- "version": "4.28.4",
- "resolved": "https://registry.npmjs.org/collect.js/-/collect.js-4.28.4.tgz",
- "integrity": "sha512-NJXATt6r+gtGOgDJOKLeooTY6QpGn8YQN/PkKnCmajJOguz/xGPgPrTyrBkmBBTHXnniPRIkUqjqt3AkjwCKlg==",
+ "version": "4.28.6",
+ "resolved": "https://registry.npmjs.org/collect.js/-/collect.js-4.28.6.tgz",
+ "integrity": "sha512-NAyuk1DnCotRaDZIS5kJ4sptgkwOeYqElird10yziN5JBuwYOGkOTguhNcPn5g344IfylZecxNYZAVXgv19p5Q==",
"dev": true
},
"collection-visit": {
@@ -2368,10 +2661,17 @@
"integrity": "sha512-puCDz0CzydiSYOrnXpz/PKd69zRrribezjtE9yd4zvytoRc8+RY/KJPvtPFKZS3E3wP6neGyMe0vOTlHO5L3Pw==",
"dev": true
},
+ "colors": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz",
+ "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==",
+ "dev": true,
+ "optional": true
+ },
"commander": {
- "version": "2.20.3",
- "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
- "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
+ "version": "6.2.1",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz",
+ "integrity": "sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==",
"dev": true
},
"commondir": {
@@ -2434,6 +2734,14 @@
"dev": true,
"requires": {
"commander": "^2.9.0"
+ },
+ "dependencies": {
+ "commander": {
+ "version": "2.20.3",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
+ "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
+ "dev": true
+ }
}
},
"concat-map": {
@@ -2442,18 +2750,6 @@
"integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
"dev": true
},
- "concat-stream": {
- "version": "1.6.2",
- "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz",
- "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==",
- "dev": true,
- "requires": {
- "buffer-from": "^1.0.0",
- "inherits": "^2.0.3",
- "readable-stream": "^2.2.2",
- "typedarray": "^0.0.6"
- }
- },
"connect-history-api-fallback": {
"version": "1.6.0",
"resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz",
@@ -2466,15 +2762,6 @@
"integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==",
"dev": true
},
- "consolidate": {
- "version": "0.15.1",
- "resolved": "https://registry.npmjs.org/consolidate/-/consolidate-0.15.1.tgz",
- "integrity": "sha512-DW46nrsMJgy9kqAbPt5rKaCr7uFtpo4mSUvLHIUbJEjm0vo+aY5QLwBUq3FK4tRnJr/X0Psc0C4jf/h+HtXSMw==",
- "dev": true,
- "requires": {
- "bluebird": "^3.1.1"
- }
- },
"constants-browserify": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz",
@@ -2517,20 +2804,6 @@
"integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=",
"dev": true
},
- "copy-concurrently": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz",
- "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==",
- "dev": true,
- "requires": {
- "aproba": "^1.1.1",
- "fs-write-stream-atomic": "^1.0.8",
- "iferr": "^0.1.5",
- "mkdirp": "^0.5.1",
- "rimraf": "^2.5.4",
- "run-queue": "^1.0.0"
- }
- },
"copy-descriptor": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz",
@@ -2538,12 +2811,12 @@
"dev": true
},
"core-js-compat": {
- "version": "3.6.5",
- "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.6.5.tgz",
- "integrity": "sha512-7ItTKOhOZbznhXAQ2g/slGg1PJV5zDO/WdkTwi7UEOJmkvsE32PWvx6mKtDjiMpjnR2CNf6BAD6sSxIlv7ptng==",
+ "version": "3.8.1",
+ "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.8.1.tgz",
+ "integrity": "sha512-a16TLmy9NVD1rkjUGbwuyWkiDoN0FDpAwrfLONvHFQx0D9k7J9y0srwMT8QP/Z6HE3MIFaVynEeYwZwPX1o5RQ==",
"dev": true,
"requires": {
- "browserslist": "^4.8.5",
+ "browserslist": "^4.15.0",
"semver": "7.0.0"
},
"dependencies": {
@@ -2619,9 +2892,9 @@
}
},
"cross-env": {
- "version": "7.0.2",
- "resolved": "https://registry.npmjs.org/cross-env/-/cross-env-7.0.2.tgz",
- "integrity": "sha512-KZP/bMEOJEDCkDQAyRhu3RL2ZO/SUVrxQVI0G3YEQ+OLbRA3c6zgixe8Mq8a/z7+HKlNEjo8oiLUs8iRijY2Rw==",
+ "version": "7.0.3",
+ "resolved": "https://registry.npmjs.org/cross-env/-/cross-env-7.0.3.tgz",
+ "integrity": "sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw==",
"dev": true,
"requires": {
"cross-spawn": "^7.0.1"
@@ -2677,50 +2950,108 @@
"requires": {
"postcss": "^7.0.1",
"timsort": "^0.3.0"
- }
- },
- "css-loader": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-1.0.1.tgz",
- "integrity": "sha512-+ZHAZm/yqvJ2kDtPne3uX0C+Vr3Zn5jFn2N4HywtS5ujwvsVkyg0VArEXpl3BgczDA8anieki1FIzhchX4yrDw==",
- "dev": true,
- "requires": {
- "babel-code-frame": "^6.26.0",
- "css-selector-tokenizer": "^0.7.0",
- "icss-utils": "^2.1.0",
- "loader-utils": "^1.0.2",
- "lodash": "^4.17.11",
- "postcss": "^6.0.23",
- "postcss-modules-extract-imports": "^1.2.0",
- "postcss-modules-local-by-default": "^1.2.0",
- "postcss-modules-scope": "^1.1.0",
- "postcss-modules-values": "^1.3.0",
- "postcss-value-parser": "^3.3.0",
- "source-list-map": "^2.0.0"
},
"dependencies": {
+ "chalk": {
+ "version": "2.4.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
+ "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^3.2.1",
+ "escape-string-regexp": "^1.0.5",
+ "supports-color": "^5.3.0"
+ },
+ "dependencies": {
+ "supports-color": {
+ "version": "5.5.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
+ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^3.0.0"
+ }
+ }
+ }
+ },
"postcss": {
- "version": "6.0.23",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz",
- "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==",
+ "version": "7.0.35",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz",
+ "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==",
"dev": true,
"requires": {
- "chalk": "^2.4.1",
+ "chalk": "^2.4.2",
"source-map": "^0.6.1",
- "supports-color": "^5.4.0"
+ "supports-color": "^6.1.0"
}
},
- "postcss-value-parser": {
- "version": "3.3.1",
- "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
- "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==",
- "dev": true
- },
"source-map": {
"version": "0.6.1",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
"dev": true
+ },
+ "supports-color": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz",
+ "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^3.0.0"
+ }
+ }
+ }
+ },
+ "css-loader": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-5.0.1.tgz",
+ "integrity": "sha512-cXc2ti9V234cq7rJzFKhirb2L2iPy8ZjALeVJAozXYz9te3r4eqLSixNAbMDJSgJEQywqXzs8gonxaboeKqwiw==",
+ "dev": true,
+ "requires": {
+ "camelcase": "^6.2.0",
+ "cssesc": "^3.0.0",
+ "icss-utils": "^5.0.0",
+ "loader-utils": "^2.0.0",
+ "postcss": "^8.1.4",
+ "postcss-modules-extract-imports": "^3.0.0",
+ "postcss-modules-local-by-default": "^4.0.0",
+ "postcss-modules-scope": "^3.0.0",
+ "postcss-modules-values": "^4.0.0",
+ "postcss-value-parser": "^4.1.0",
+ "schema-utils": "^3.0.0",
+ "semver": "^7.3.2"
+ },
+ "dependencies": {
+ "loader-utils": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz",
+ "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==",
+ "dev": true,
+ "requires": {
+ "big.js": "^5.2.2",
+ "emojis-list": "^3.0.0",
+ "json5": "^2.1.2"
+ }
+ },
+ "schema-utils": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz",
+ "integrity": "sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA==",
+ "dev": true,
+ "requires": {
+ "@types/json-schema": "^7.0.6",
+ "ajv": "^6.12.5",
+ "ajv-keywords": "^3.5.2"
+ }
+ },
+ "semver": {
+ "version": "7.3.4",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz",
+ "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==",
+ "dev": true,
+ "requires": {
+ "lru-cache": "^6.0.0"
+ }
}
}
},
@@ -2742,16 +3073,6 @@
"integrity": "sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w==",
"dev": true
},
- "css-selector-tokenizer": {
- "version": "0.7.3",
- "resolved": "https://registry.npmjs.org/css-selector-tokenizer/-/css-selector-tokenizer-0.7.3.tgz",
- "integrity": "sha512-jWQv3oCEL5kMErj4wRnK/OPoBi0D+P1FR2cDCKYPaMeD2eW3/mttav8HT4hT1CKopiJI/psEULjkClhvJo4Lvg==",
- "dev": true,
- "requires": {
- "cssesc": "^3.0.0",
- "fastparse": "^1.1.2"
- }
- },
"css-tree": {
"version": "1.0.0-alpha.37",
"resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.37.tgz",
@@ -2792,6 +3113,56 @@
"cssnano-preset-default": "^4.0.7",
"is-resolvable": "^1.0.0",
"postcss": "^7.0.0"
+ },
+ "dependencies": {
+ "chalk": {
+ "version": "2.4.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
+ "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^3.2.1",
+ "escape-string-regexp": "^1.0.5",
+ "supports-color": "^5.3.0"
+ },
+ "dependencies": {
+ "supports-color": {
+ "version": "5.5.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
+ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^3.0.0"
+ }
+ }
+ }
+ },
+ "postcss": {
+ "version": "7.0.35",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz",
+ "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==",
+ "dev": true,
+ "requires": {
+ "chalk": "^2.4.2",
+ "source-map": "^0.6.1",
+ "supports-color": "^6.1.0"
+ }
+ },
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz",
+ "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^3.0.0"
+ }
+ }
}
},
"cssnano-preset-default": {
@@ -2830,58 +3201,158 @@
"postcss-reduce-transforms": "^4.0.2",
"postcss-svgo": "^4.0.2",
"postcss-unique-selectors": "^4.0.1"
- }
- },
- "cssnano-util-get-arguments": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/cssnano-util-get-arguments/-/cssnano-util-get-arguments-4.0.0.tgz",
- "integrity": "sha1-7ToIKZ8h11dBsg87gfGU7UnMFQ8=",
- "dev": true
- },
- "cssnano-util-get-match": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/cssnano-util-get-match/-/cssnano-util-get-match-4.0.0.tgz",
- "integrity": "sha1-wOTKB/U4a7F+xeUiULT1lhNlFW0=",
- "dev": true
- },
- "cssnano-util-raw-cache": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/cssnano-util-raw-cache/-/cssnano-util-raw-cache-4.0.1.tgz",
- "integrity": "sha512-qLuYtWK2b2Dy55I8ZX3ky1Z16WYsx544Q0UWViebptpwn/xDBmog2TLg4f+DBMg1rJ6JDWtn96WHbOKDWt1WQA==",
- "dev": true,
- "requires": {
- "postcss": "^7.0.0"
- }
- },
- "cssnano-util-same-parent": {
+ },
+ "dependencies": {
+ "chalk": {
+ "version": "2.4.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
+ "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^3.2.1",
+ "escape-string-regexp": "^1.0.5",
+ "supports-color": "^5.3.0"
+ },
+ "dependencies": {
+ "supports-color": {
+ "version": "5.5.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
+ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^3.0.0"
+ }
+ }
+ }
+ },
+ "postcss": {
+ "version": "7.0.35",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz",
+ "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==",
+ "dev": true,
+ "requires": {
+ "chalk": "^2.4.2",
+ "source-map": "^0.6.1",
+ "supports-color": "^6.1.0"
+ }
+ },
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz",
+ "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^3.0.0"
+ }
+ }
+ }
+ },
+ "cssnano-util-get-arguments": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/cssnano-util-get-arguments/-/cssnano-util-get-arguments-4.0.0.tgz",
+ "integrity": "sha1-7ToIKZ8h11dBsg87gfGU7UnMFQ8=",
+ "dev": true
+ },
+ "cssnano-util-get-match": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/cssnano-util-get-match/-/cssnano-util-get-match-4.0.0.tgz",
+ "integrity": "sha1-wOTKB/U4a7F+xeUiULT1lhNlFW0=",
+ "dev": true
+ },
+ "cssnano-util-raw-cache": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/cssnano-util-raw-cache/-/cssnano-util-raw-cache-4.0.1.tgz",
+ "integrity": "sha512-qLuYtWK2b2Dy55I8ZX3ky1Z16WYsx544Q0UWViebptpwn/xDBmog2TLg4f+DBMg1rJ6JDWtn96WHbOKDWt1WQA==",
+ "dev": true,
+ "requires": {
+ "postcss": "^7.0.0"
+ },
+ "dependencies": {
+ "chalk": {
+ "version": "2.4.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
+ "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^3.2.1",
+ "escape-string-regexp": "^1.0.5",
+ "supports-color": "^5.3.0"
+ },
+ "dependencies": {
+ "supports-color": {
+ "version": "5.5.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
+ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^3.0.0"
+ }
+ }
+ }
+ },
+ "postcss": {
+ "version": "7.0.35",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz",
+ "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==",
+ "dev": true,
+ "requires": {
+ "chalk": "^2.4.2",
+ "source-map": "^0.6.1",
+ "supports-color": "^6.1.0"
+ }
+ },
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz",
+ "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^3.0.0"
+ }
+ }
+ }
+ },
+ "cssnano-util-same-parent": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/cssnano-util-same-parent/-/cssnano-util-same-parent-4.0.1.tgz",
"integrity": "sha512-WcKx5OY+KoSIAxBW6UBBRay1U6vkYheCdjyVNDm85zt5K9mHoGOfsOsqIszfAqrQQFIIKgjh2+FDgIj/zsl21Q==",
"dev": true
},
"csso": {
- "version": "4.0.3",
- "resolved": "https://registry.npmjs.org/csso/-/csso-4.0.3.tgz",
- "integrity": "sha512-NL3spysxUkcrOgnpsT4Xdl2aiEiBG6bXswAABQVHcMrfjjBisFOKwLDOmf4wf32aPdcJws1zds2B0Rg+jqMyHQ==",
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz",
+ "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==",
"dev": true,
"requires": {
- "css-tree": "1.0.0-alpha.39"
+ "css-tree": "^1.1.2"
},
"dependencies": {
"css-tree": {
- "version": "1.0.0-alpha.39",
- "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.39.tgz",
- "integrity": "sha512-7UvkEYgBAHRG9Nt980lYxjsTrCyHFN53ky3wVsDkiMdVqylqRt+Zc+jm5qw7/qyOvN2dHSYtX0e4MbCCExSvnA==",
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.2.tgz",
+ "integrity": "sha512-wCoWush5Aeo48GLhfHPbmvZs59Z+M7k5+B1xDnXbdWNcEF423DoFdqSWE0PM5aNk5nI5cp1q7ms36zGApY/sKQ==",
"dev": true,
"requires": {
- "mdn-data": "2.0.6",
+ "mdn-data": "2.0.14",
"source-map": "^0.6.1"
}
},
"mdn-data": {
- "version": "2.0.6",
- "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.6.tgz",
- "integrity": "sha512-rQvjv71olwNHgiTbfPZFkJtjNMciWgswYeciZhtvWLO8bmX3TnhyA62I6sTWOyZssWHJJjY6/KiWwqQsWWsqOA==",
+ "version": "2.0.14",
+ "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz",
+ "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==",
"dev": true
},
"source-map": {
@@ -2892,12 +3363,6 @@
}
}
},
- "cyclist": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz",
- "integrity": "sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk=",
- "dev": true
- },
"de-indent": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/de-indent/-/de-indent-1.0.2.tgz",
@@ -2905,20 +3370,14 @@
"dev": true
},
"debug": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.2.0.tgz",
- "integrity": "sha512-IX2ncY78vDTjZMFUdmsvIRFY2Cf4FnD0wRs+nQwJU8Lu99/tPFdb0VybiiMTPe3I6rQmwsqQqRBvxU+bZ/I8sg==",
+ "version": "4.3.1",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz",
+ "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==",
"dev": true,
"requires": {
"ms": "2.1.2"
}
},
- "decamelize": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
- "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=",
- "dev": true
- },
"decode-uri-component": {
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz",
@@ -2946,13 +3405,12 @@
"dev": true
},
"default-gateway": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-4.2.0.tgz",
- "integrity": "sha512-h6sMrVB1VMWVrW13mSc6ia/DwYYw5MN6+exNu1OaJeFac5aSAvwM7lZ0NVfTABuSkQelr4h5oebg3KB1XPdjgA==",
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-6.0.2.tgz",
+ "integrity": "sha512-bWrj9HZWNXJ/RUkWmBIp67JawNrPGz0il43IGWU84dazEYbNFQ52HbIiqgRQdYUHK3RyGrENrDV9QkwArt6IAQ==",
"dev": true,
"requires": {
- "execa": "^1.0.0",
- "ip-regex": "^2.1.0"
+ "execa": "^4.0.3"
}
},
"define-properties": {
@@ -3006,46 +3464,34 @@
}
},
"del": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/del/-/del-4.1.1.tgz",
- "integrity": "sha512-QwGuEUouP2kVwQenAsOof5Fv8K9t3D8Ca8NxcXKrIpEHjTXK5J2nXLdP+ALI1cgv8wj7KuwBhTwBkOZSJKM5XQ==",
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/del/-/del-6.0.0.tgz",
+ "integrity": "sha512-1shh9DQ23L16oXSZKB2JxpL7iMy2E0S9d517ptA1P8iw0alkPtQcrKH7ru31rYtKwF499HkTu+DRzq3TCKDFRQ==",
"dev": true,
"requires": {
- "@types/glob": "^7.1.1",
- "globby": "^6.1.0",
- "is-path-cwd": "^2.0.0",
- "is-path-in-cwd": "^2.0.0",
- "p-map": "^2.0.0",
- "pify": "^4.0.1",
- "rimraf": "^2.6.3"
+ "globby": "^11.0.1",
+ "graceful-fs": "^4.2.4",
+ "is-glob": "^4.0.1",
+ "is-path-cwd": "^2.2.0",
+ "is-path-inside": "^3.0.2",
+ "p-map": "^4.0.0",
+ "rimraf": "^3.0.2",
+ "slash": "^3.0.0"
},
"dependencies": {
"globby": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz",
- "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=",
+ "version": "11.0.1",
+ "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.1.tgz",
+ "integrity": "sha512-iH9RmgwCmUJHi2z5o2l3eTtGBtXek1OYlHrbcxOYugyHLmAsZrPj43OtHThd62Buh/Vv6VyCBD2bdyWcGNQqoQ==",
"dev": true,
"requires": {
- "array-union": "^1.0.1",
- "glob": "^7.0.3",
- "object-assign": "^4.0.1",
- "pify": "^2.0.0",
- "pinkie-promise": "^2.0.0"
- },
- "dependencies": {
- "pify": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
- "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
- "dev": true
- }
+ "array-union": "^2.1.0",
+ "dir-glob": "^3.0.1",
+ "fast-glob": "^3.1.1",
+ "ignore": "^5.1.4",
+ "merge2": "^1.3.0",
+ "slash": "^3.0.0"
}
- },
- "p-map": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz",
- "integrity": "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==",
- "dev": true
}
}
},
@@ -3071,12 +3517,6 @@
"integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=",
"dev": true
},
- "detect-file": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz",
- "integrity": "sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc=",
- "dev": true
- },
"detect-node": {
"version": "2.0.4",
"resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.0.4.tgz",
@@ -3103,13 +3543,12 @@
}
},
"dir-glob": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-2.0.0.tgz",
- "integrity": "sha512-37qirFDz8cA5fimp9feo43fSuRo2gHwaIn6dXL8Ber1dGwUosDrGZeCCXq57WnIqE4aQ+u3eQZzsk1yOzhdwag==",
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz",
+ "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==",
"dev": true,
"requires": {
- "arrify": "^1.0.1",
- "path-type": "^3.0.0"
+ "path-type": "^4.0.0"
}
},
"dns-equal": {
@@ -3148,9 +3587,9 @@
},
"dependencies": {
"domelementtype": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.0.2.tgz",
- "integrity": "sha512-wFwTwCVebUrMgGeAwRL/NhZtHAUyT9n9yg4IMDwf10+6iCMxSkVq9MGCVEH+QZWo1nNidy8kNvwmv4zWHDTqvA==",
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.1.0.tgz",
+ "integrity": "sha512-LsTgx/L5VpD+Q8lmsXSHW2WpA+eBlZ9HPf3erD1IoPF00/3JKHZ3BknUVA2QGDNu69ZNmyFmCWBSO45XjYKC5w==",
"dev": true
}
}
@@ -3167,6 +3606,23 @@
"integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==",
"dev": true
},
+ "domhandler": {
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-3.3.0.tgz",
+ "integrity": "sha512-J1C5rIANUbuYK+FuFL98650rihynUOEzRLxW+90bKZRWB6A1X1Tf82GxR1qAWLyfNPRvjqfip3Q5tdYlmAa9lA==",
+ "dev": true,
+ "requires": {
+ "domelementtype": "^2.0.1"
+ },
+ "dependencies": {
+ "domelementtype": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.1.0.tgz",
+ "integrity": "sha512-LsTgx/L5VpD+Q8lmsXSHW2WpA+eBlZ9HPf3erD1IoPF00/3JKHZ3BknUVA2QGDNu69ZNmyFmCWBSO45XjYKC5w==",
+ "dev": true
+ }
+ }
+ },
"domutils": {
"version": "1.7.0",
"resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz",
@@ -3177,6 +3633,16 @@
"domelementtype": "1"
}
},
+ "dot-case": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz",
+ "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==",
+ "dev": true,
+ "requires": {
+ "no-case": "^3.0.4",
+ "tslib": "^2.0.3"
+ }
+ },
"dot-prop": {
"version": "5.3.0",
"resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz",
@@ -3187,27 +3653,26 @@
}
},
"dotenv": {
- "version": "6.2.0",
- "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-6.2.0.tgz",
- "integrity": "sha512-HygQCKUBSFl8wKQZBSemMywRWcEDNidvNbjGVyZu3nbZ8qq9ubiPoGLMdRDpfSrpkkm9BXYFkpKxxFX38o/76w==",
+ "version": "8.2.0",
+ "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-8.2.0.tgz",
+ "integrity": "sha512-8sJ78ElpbDJBHNeBzUbUVLsqKdccaa/BXF1uPTw3GrvQTBgrQrtObr2mUrE38vzYd8cEv+m/JBfDLioYcfXoaw==",
"dev": true
},
"dotenv-expand": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-4.2.0.tgz",
- "integrity": "sha1-3vHxyl1gWdJKdm5YeULCEQbOEnU=",
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-5.1.0.tgz",
+ "integrity": "sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==",
"dev": true
},
- "duplexify": {
- "version": "3.7.1",
- "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz",
- "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==",
+ "easymde": {
+ "version": "2.13.0",
+ "resolved": "https://registry.npmjs.org/easymde/-/easymde-2.13.0.tgz",
+ "integrity": "sha512-Q9cfsMzIwtXS2h/1toB404aYRkOukjVroZP2/7uItO4W5e3pC8mey2NsHlSAGRdR2pIwR2XheA4TucX0IjseBA==",
"dev": true,
"requires": {
- "end-of-stream": "^1.0.0",
- "inherits": "^2.0.1",
- "readable-stream": "^2.0.0",
- "stream-shift": "^1.0.0"
+ "codemirror": "^5.58.2",
+ "codemirror-spell-checker": "1.1.2",
+ "marked": "^1.2.3"
}
},
"ee-first": {
@@ -3217,9 +3682,9 @@
"dev": true
},
"electron-to-chromium": {
- "version": "1.3.582",
- "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.582.tgz",
- "integrity": "sha512-0nCJ7cSqnkMC+kUuPs0YgklFHraWGl/xHqtZWWtOeVtyi+YqkoAOMGuZQad43DscXCQI/yizcTa3u6B5r+BLww==",
+ "version": "1.3.633",
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.633.tgz",
+ "integrity": "sha512-bsVCsONiVX1abkWdH7KtpuDAhsQ3N3bjPYhROSAXE78roJKet0Y5wznA14JE9pzbwSZmSMAW6KiKYf1RvbTJkA==",
"dev": true
},
"elliptic": {
@@ -3246,9 +3711,9 @@
}
},
"emoji-regex": {
- "version": "7.0.3",
- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz",
- "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==",
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
+ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
"dev": true
},
"emojis-list": {
@@ -3273,26 +3738,22 @@
}
},
"enhanced-resolve": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.3.0.tgz",
- "integrity": "sha512-3e87LvavsdxyoCfGusJnrZ5G8SLPOFeHSNpZI/ATL9a5leXo2k0w6MKnbqhdBad9qTobSfB20Ld7UmgoNbAZkQ==",
+ "version": "5.4.1",
+ "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.4.1.tgz",
+ "integrity": "sha512-4GbyIMzYktTFoRSmkbgZ1LU+RXwf4AQ8Z+rSuuh1dC8plp0PPeaWvx6+G4hh4KnUJ48VoxKbNyA1QQQIUpXjYA==",
"dev": true,
"requires": {
- "graceful-fs": "^4.1.2",
- "memory-fs": "^0.5.0",
- "tapable": "^1.0.0"
- },
- "dependencies": {
- "memory-fs": {
- "version": "0.5.0",
- "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz",
- "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==",
- "dev": true,
- "requires": {
- "errno": "^0.1.3",
- "readable-stream": "^2.0.1"
- }
- }
+ "graceful-fs": "^4.2.4",
+ "tapable": "^2.2.0"
+ }
+ },
+ "enquirer": {
+ "version": "2.3.6",
+ "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz",
+ "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==",
+ "dev": true,
+ "requires": {
+ "ansi-colors": "^4.1.1"
}
},
"entities": {
@@ -3301,14 +3762,11 @@
"integrity": "sha512-hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w==",
"dev": true
},
- "errno": {
- "version": "0.1.7",
- "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz",
- "integrity": "sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==",
- "dev": true,
- "requires": {
- "prr": "~1.0.1"
- }
+ "envinfo": {
+ "version": "7.7.3",
+ "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.7.3.tgz",
+ "integrity": "sha512-46+j5QxbPWza0PB1i15nZx0xQ4I/EfQxg9J8Had3b408SV63nEtor2e+oiY63amTo9KTuh2a3XLObNwduxYwwA==",
+ "dev": true
},
"error-ex": {
"version": "1.3.2",
@@ -3319,15 +3777,6 @@
"is-arrayish": "^0.2.1"
}
},
- "error-stack-parser": {
- "version": "2.0.6",
- "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.0.6.tgz",
- "integrity": "sha512-d51brTeqC+BHlwF0BhPtcYgF5nlzf9ZZ0ZIUQNZpc9ZB9qw5IJ2diTrBY9jlCJkTLITYPjmiX6OWCwH+fuyNgQ==",
- "dev": true,
- "requires": {
- "stackframe": "^1.1.1"
- }
- },
"es-abstract": {
"version": "1.18.0-next.1",
"resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0-next.1.tgz",
@@ -3359,16 +3808,6 @@
"is-symbol": "^1.0.2"
}
},
- "es6-templates": {
- "version": "0.2.3",
- "resolved": "https://registry.npmjs.org/es6-templates/-/es6-templates-0.2.3.tgz",
- "integrity": "sha1-XLmsn7He1usSOTQrgdeSu7QHjuQ=",
- "dev": true,
- "requires": {
- "recast": "~0.11.12",
- "through": "~2.3.6"
- }
- },
"escalade": {
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz",
@@ -3388,19 +3827,19 @@
"dev": true
},
"eslint-scope": {
- "version": "4.0.3",
- "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz",
- "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==",
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz",
+ "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==",
"dev": true,
"requires": {
- "esrecurse": "^4.1.0",
+ "esrecurse": "^4.3.0",
"estraverse": "^4.1.1"
}
},
"esprima": {
- "version": "3.1.3",
- "resolved": "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz",
- "integrity": "sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM=",
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
+ "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==",
"dev": true
},
"esrecurse": {
@@ -3470,63 +3909,20 @@
}
},
"execa": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz",
- "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==",
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz",
+ "integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==",
"dev": true,
"requires": {
- "cross-spawn": "^6.0.0",
- "get-stream": "^4.0.0",
- "is-stream": "^1.1.0",
- "npm-run-path": "^2.0.0",
- "p-finally": "^1.0.0",
- "signal-exit": "^3.0.0",
- "strip-eof": "^1.0.0"
- },
- "dependencies": {
- "cross-spawn": {
- "version": "6.0.5",
- "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz",
- "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==",
- "dev": true,
- "requires": {
- "nice-try": "^1.0.4",
- "path-key": "^2.0.1",
- "semver": "^5.5.0",
- "shebang-command": "^1.2.0",
- "which": "^1.2.9"
- }
- },
- "path-key": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz",
- "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=",
- "dev": true
- },
- "shebang-command": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",
- "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=",
- "dev": true,
- "requires": {
- "shebang-regex": "^1.0.0"
- }
- },
- "shebang-regex": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz",
- "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=",
- "dev": true
- },
- "which": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
- "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
- "dev": true,
- "requires": {
- "isexe": "^2.0.0"
- }
- }
+ "cross-spawn": "^7.0.0",
+ "get-stream": "^5.0.0",
+ "human-signals": "^1.1.1",
+ "is-stream": "^2.0.0",
+ "merge-stream": "^2.0.0",
+ "npm-run-path": "^4.0.0",
+ "onetime": "^5.1.0",
+ "signal-exit": "^3.0.2",
+ "strip-final-newline": "^2.0.0"
}
},
"expand-brackets": {
@@ -3585,15 +3981,6 @@
}
}
},
- "expand-tilde": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz",
- "integrity": "sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=",
- "dev": true,
- "requires": {
- "homedir-polyfill": "^1.0.1"
- }
- },
"express": {
"version": "4.17.1",
"resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz",
@@ -3736,30 +4123,6 @@
}
}
},
- "extract-text-webpack-plugin": {
- "version": "4.0.0-beta.0",
- "resolved": "https://registry.npmjs.org/extract-text-webpack-plugin/-/extract-text-webpack-plugin-4.0.0-beta.0.tgz",
- "integrity": "sha512-Hypkn9jUTnFr0DpekNam53X47tXn3ucY08BQumv7kdGgeVUBLq3DJHJTi6HNxv4jl9W+Skxjz9+RnK0sJyqqjA==",
- "dev": true,
- "requires": {
- "async": "^2.4.1",
- "loader-utils": "^1.1.0",
- "schema-utils": "^0.4.5",
- "webpack-sources": "^1.1.0"
- },
- "dependencies": {
- "schema-utils": {
- "version": "0.4.7",
- "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-0.4.7.tgz",
- "integrity": "sha512-v/iwU6wvwGK8HbU9yi3/nhGzP0yGSuhQMzL6ySiec1FSrZZDkhm4noOSWzrNFo/jEc+SJY6jRTwuwbSXJPDUnQ==",
- "dev": true,
- "requires": {
- "ajv": "^6.1.0",
- "ajv-keywords": "^3.1.0"
- }
- }
- }
- },
"fast-deep-equal": {
"version": "3.1.3",
"resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
@@ -3767,76 +4130,144 @@
"dev": true
},
"fast-glob": {
- "version": "2.2.7",
- "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-2.2.7.tgz",
- "integrity": "sha512-g1KuQwHOZAmOZMuBtHdxDtju+T2RT8jgCC9aANsbpdiDDTSnjgfuVsIBNKbUeJI3oKMRExcfNDtJl4OhbffMsw==",
- "dev": true,
- "requires": {
- "@mrmlnc/readdir-enhanced": "^2.2.1",
- "@nodelib/fs.stat": "^1.1.2",
- "glob-parent": "^3.1.0",
- "is-glob": "^4.0.0",
- "merge2": "^1.2.3",
- "micromatch": "^3.1.10"
- }
- },
- "fast-json-stable-stringify": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
- "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==",
- "dev": true
- },
- "fastparse": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/fastparse/-/fastparse-1.1.2.tgz",
- "integrity": "sha512-483XLLxTVIwWK3QTrMGRqUfUpoOs/0hbQrl2oz4J0pAcm3A3bu84wxTFqGqkJzewCLdME38xJLJAxBABfQT8sQ==",
- "dev": true
- },
- "faye-websocket": {
- "version": "0.10.0",
- "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.10.0.tgz",
- "integrity": "sha1-TkkvjQTftviQA1B/btvy1QHnxvQ=",
- "dev": true,
- "requires": {
- "websocket-driver": ">=0.5.1"
- }
- },
- "figgy-pudding": {
- "version": "3.5.2",
- "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.2.tgz",
- "integrity": "sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw==",
- "dev": true
- },
- "file-loader": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-2.0.0.tgz",
- "integrity": "sha512-YCsBfd1ZGCyonOKLxPiKPdu+8ld9HAaMEvJewzz+b2eTF7uL5Zm/HdBF6FjCrpCMRq25Mi0U1gl4pwn2TlH7hQ==",
+ "version": "3.2.4",
+ "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.4.tgz",
+ "integrity": "sha512-kr/Oo6PX51265qeuCYsyGypiO5uJFgBS0jksyG7FUeCyQzNwYnzrNIMR1NXfkZXsMYXYLRAHgISHBz8gQcxKHQ==",
"dev": true,
"requires": {
- "loader-utils": "^1.0.2",
- "schema-utils": "^1.0.0"
+ "@nodelib/fs.stat": "^2.0.2",
+ "@nodelib/fs.walk": "^1.2.3",
+ "glob-parent": "^5.1.0",
+ "merge2": "^1.3.0",
+ "micromatch": "^4.0.2",
+ "picomatch": "^2.2.1"
},
"dependencies": {
- "schema-utils": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz",
- "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==",
+ "braces": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
+ "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
"dev": true,
"requires": {
- "ajv": "^6.1.0",
- "ajv-errors": "^1.0.0",
- "ajv-keywords": "^3.1.0"
+ "fill-range": "^7.0.1"
}
- }
- }
- },
- "file-type": {
- "version": "10.11.0",
- "resolved": "https://registry.npmjs.org/file-type/-/file-type-10.11.0.tgz",
- "integrity": "sha512-uzk64HRpUZyTGZtVuvrjP0FYxzQrBf4rojot6J65YMEbwBLB0CWm0CLojVpwpmFmxcE/lkvYICgfcGozbBq6rw==",
- "dev": true
- },
- "file-uri-to-path": {
+ },
+ "fill-range": {
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
+ "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
+ "dev": true,
+ "requires": {
+ "to-regex-range": "^5.0.1"
+ }
+ },
+ "glob-parent": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz",
+ "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==",
+ "dev": true,
+ "requires": {
+ "is-glob": "^4.0.1"
+ }
+ },
+ "is-number": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
+ "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
+ "dev": true
+ },
+ "micromatch": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz",
+ "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==",
+ "dev": true,
+ "requires": {
+ "braces": "^3.0.1",
+ "picomatch": "^2.0.5"
+ }
+ },
+ "to-regex-range": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
+ "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
+ "dev": true,
+ "requires": {
+ "is-number": "^7.0.0"
+ }
+ }
+ }
+ },
+ "fast-json-stable-stringify": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
+ "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==",
+ "dev": true
+ },
+ "fastest-levenshtein": {
+ "version": "1.0.12",
+ "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.12.tgz",
+ "integrity": "sha512-On2N+BpYJ15xIC974QNVuYGMOlEVt4s0EOI3wwMqOmK1fdDY+FN/zltPV8vosq4ad4c/gJ1KHScUn/6AWIgiow==",
+ "dev": true
+ },
+ "fastq": {
+ "version": "1.10.0",
+ "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.10.0.tgz",
+ "integrity": "sha512-NL2Qc5L3iQEsyYzweq7qfgy5OtXCmGzGvhElGEd/SoFWEMOEczNh5s5ocaF01HDetxz+p8ecjNPA6cZxxIHmzA==",
+ "dev": true,
+ "requires": {
+ "reusify": "^1.0.4"
+ }
+ },
+ "faye-websocket": {
+ "version": "0.11.3",
+ "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.3.tgz",
+ "integrity": "sha512-D2y4bovYpzziGgbHYtGCMjlJM36vAl/y+xUyn1C+FVx8szd1E+86KwVw6XvYSzOP8iMpm1X0I4xJD+QtUb36OA==",
+ "dev": true,
+ "requires": {
+ "websocket-driver": ">=0.5.1"
+ }
+ },
+ "file-loader": {
+ "version": "6.2.0",
+ "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz",
+ "integrity": "sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==",
+ "dev": true,
+ "requires": {
+ "loader-utils": "^2.0.0",
+ "schema-utils": "^3.0.0"
+ },
+ "dependencies": {
+ "loader-utils": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz",
+ "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==",
+ "dev": true,
+ "requires": {
+ "big.js": "^5.2.2",
+ "emojis-list": "^3.0.0",
+ "json5": "^2.1.2"
+ }
+ },
+ "schema-utils": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz",
+ "integrity": "sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA==",
+ "dev": true,
+ "requires": {
+ "@types/json-schema": "^7.0.6",
+ "ajv": "^6.12.5",
+ "ajv-keywords": "^3.5.2"
+ }
+ }
+ }
+ },
+ "file-type": {
+ "version": "12.4.2",
+ "resolved": "https://registry.npmjs.org/file-type/-/file-type-12.4.2.tgz",
+ "integrity": "sha512-UssQP5ZgIOKelfsaB5CuGAL+Y+q7EmONuiwF3N5HAH0t27rvrttgi6Ra9k/+DVaY9UF6+ybxu5pOXLUdA8N7Vg==",
+ "dev": true
+ },
+ "file-uri-to-path": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz",
"integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==",
@@ -3905,51 +4336,30 @@
}
},
"find-cache-dir": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz",
- "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==",
+ "version": "3.3.1",
+ "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.1.tgz",
+ "integrity": "sha512-t2GDMt3oGC/v+BMwzmllWDuJF/xcDtE5j/fCGbqDD7OLuJkj0cfh1YSA5VKPvwMeLFLNDBkwOKZ2X85jGLVftQ==",
"dev": true,
"requires": {
"commondir": "^1.0.1",
- "make-dir": "^2.0.0",
- "pkg-dir": "^3.0.0"
+ "make-dir": "^3.0.2",
+ "pkg-dir": "^4.1.0"
}
},
"find-up": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz",
- "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==",
- "dev": true,
- "requires": {
- "locate-path": "^3.0.0"
- }
- },
- "findup-sync": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-3.0.0.tgz",
- "integrity": "sha512-YbffarhcicEhOrm4CtrwdKBdCuz576RLdhJDsIfvNtxUuhdRet1qZcsMjqbePtAseKdAnDyM/IyXbu7PRPRLYg==",
- "dev": true,
- "requires": {
- "detect-file": "^1.0.0",
- "is-glob": "^4.0.0",
- "micromatch": "^3.0.4",
- "resolve-dir": "^1.0.1"
- }
- },
- "flush-write-stream": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz",
- "integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==",
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
+ "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
"dev": true,
"requires": {
- "inherits": "^2.0.3",
- "readable-stream": "^2.3.6"
+ "locate-path": "^5.0.0",
+ "path-exists": "^4.0.0"
}
},
"follow-redirects": {
- "version": "1.13.0",
- "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.13.0.tgz",
- "integrity": "sha512-aq6gF1BEKje4a9i9+5jimNFIpq4Q1WiwBToeRK5NvZBd/TRsmW8BsJfOEGkr76TbOyPVD3OVDN910EcUNtRYEA==",
+ "version": "1.13.1",
+ "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.13.1.tgz",
+ "integrity": "sha512-SSG5xmZh1mkPGyKzjZP8zLjltIfpW32Y5QpdNJyjcfGxK3qo3NDDkZOZSFiGn1A6SclQxY9GzEwAHQ3dmYRWpg==",
"dev": true
},
"for-in": {
@@ -3958,12 +4368,24 @@
"integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=",
"dev": true
},
+ "foreach": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz",
+ "integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k=",
+ "dev": true
+ },
"forwarded": {
"version": "0.1.2",
"resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz",
"integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=",
"dev": true
},
+ "fraction.js": {
+ "version": "4.0.13",
+ "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.0.13.tgz",
+ "integrity": "sha512-E1fz2Xs9ltlUp+qbiyx9wmt2n9dRzPsS11Jtdb8D2o+cC7wr9xkkKsVKJuBX0ST+LVS+LhLO+SbLJNtfWcJvXA==",
+ "dev": true
+ },
"fragment-cache": {
"version": "0.2.1",
"resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz",
@@ -3979,85 +4401,23 @@
"integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=",
"dev": true
},
- "friendly-errors-webpack-plugin": {
- "version": "1.7.0",
- "resolved": "https://registry.npmjs.org/friendly-errors-webpack-plugin/-/friendly-errors-webpack-plugin-1.7.0.tgz",
- "integrity": "sha512-K27M3VK30wVoOarP651zDmb93R9zF28usW4ocaK3mfQeIEI5BPht/EzZs5E8QLLwbLRJQMwscAjDxYPb1FuNiw==",
- "dev": true,
- "requires": {
- "chalk": "^1.1.3",
- "error-stack-parser": "^2.0.0",
- "string-width": "^2.0.0"
- },
- "dependencies": {
- "ansi-styles": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
- "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
- "dev": true
- },
- "chalk": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
- "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
- "dev": true,
- "requires": {
- "ansi-styles": "^2.2.1",
- "escape-string-regexp": "^1.0.2",
- "has-ansi": "^2.0.0",
- "strip-ansi": "^3.0.0",
- "supports-color": "^2.0.0"
- }
- },
- "supports-color": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
- "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
- "dev": true
- }
- }
- },
- "from2": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz",
- "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=",
- "dev": true,
- "requires": {
- "inherits": "^2.0.1",
- "readable-stream": "^2.0.0"
- }
- },
"fs-extra": {
- "version": "7.0.1",
- "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz",
- "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==",
- "dev": true,
- "requires": {
- "graceful-fs": "^4.1.2",
- "jsonfile": "^4.0.0",
- "universalify": "^0.1.0"
- }
- },
- "fs-minipass": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz",
- "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==",
+ "version": "9.0.1",
+ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.0.1.tgz",
+ "integrity": "sha512-h2iAoN838FqAFJY2/qVpzFXy+EBxfVE220PalAqQLDVsFOHLJrZvut5puAbCdNv6WJk+B8ihI+k0c7JK5erwqQ==",
"dev": true,
"requires": {
- "minipass": "^3.0.0"
+ "at-least-node": "^1.0.0",
+ "graceful-fs": "^4.2.0",
+ "jsonfile": "^6.0.1",
+ "universalify": "^1.0.0"
}
},
- "fs-write-stream-atomic": {
- "version": "1.0.10",
- "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz",
- "integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=",
- "dev": true,
- "requires": {
- "graceful-fs": "^4.1.2",
- "iferr": "^0.1.5",
- "imurmurhash": "^0.1.4",
- "readable-stream": "1 || 2"
- }
+ "fs-monkey": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.1.tgz",
+ "integrity": "sha512-fcSa+wyTqZa46iWweI7/ZiUfegOZl0SG8+dltIwFXo7+zYU9J9kpS3NB6pZcSlJdhvIwp81Adx2XhZorncxiaA==",
+ "dev": true
},
"fs.realpath": {
"version": "1.0.0",
@@ -4083,9 +4443,9 @@
"dev": true
},
"gensync": {
- "version": "1.0.0-beta.1",
- "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.1.tgz",
- "integrity": "sha512-r8EC6NO1sngH/zdD9fiRDLdcgnbayXah+mLgManTaIZJqEC1MZstmnox8KpnI2/fxQwrp5OpCOYWLp4rBl4Jcg==",
+ "version": "1.0.0-beta.2",
+ "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz",
+ "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==",
"dev": true
},
"get-caller-file": {
@@ -4094,10 +4454,21 @@
"integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
"dev": true
},
+ "get-intrinsic": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.0.2.tgz",
+ "integrity": "sha512-aeX0vrFm21ILl3+JpFFRNe9aUvp6VFZb2/CTbgLb8j75kOhvoNYjt9d8KA/tJG4gSo8nzEDedRl0h7vDmBYRVg==",
+ "dev": true,
+ "requires": {
+ "function-bind": "^1.1.1",
+ "has": "^1.0.3",
+ "has-symbols": "^1.0.1"
+ }
+ },
"get-stream": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz",
- "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==",
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz",
+ "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==",
"dev": true,
"requires": {
"pump": "^3.0.0"
@@ -4145,66 +4516,11 @@
}
},
"glob-to-regexp": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz",
- "integrity": "sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs=",
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz",
+ "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==",
"dev": true
},
- "global-modules": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz",
- "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==",
- "dev": true,
- "requires": {
- "global-prefix": "^3.0.0"
- },
- "dependencies": {
- "global-prefix": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz",
- "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==",
- "dev": true,
- "requires": {
- "ini": "^1.3.5",
- "kind-of": "^6.0.2",
- "which": "^1.3.1"
- }
- },
- "which": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
- "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
- "dev": true,
- "requires": {
- "isexe": "^2.0.0"
- }
- }
- }
- },
- "global-prefix": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz",
- "integrity": "sha1-2/dDxsFJklk8ZVVoy2btMsASLr4=",
- "dev": true,
- "requires": {
- "expand-tilde": "^2.0.2",
- "homedir-polyfill": "^1.0.1",
- "ini": "^1.3.4",
- "is-windows": "^1.0.1",
- "which": "^1.2.14"
- },
- "dependencies": {
- "which": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
- "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
- "dev": true,
- "requires": {
- "isexe": "^2.0.0"
- }
- }
- }
- },
"globals": {
"version": "11.12.0",
"resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz",
@@ -4212,26 +4528,19 @@
"dev": true
},
"globby": {
- "version": "8.0.2",
- "resolved": "https://registry.npmjs.org/globby/-/globby-8.0.2.tgz",
- "integrity": "sha512-yTzMmKygLp8RUpG1Ymu2VXPSJQZjNAZPD4ywgYEaG7e4tBJeUQBO8OpXrf1RCNcEs5alsoJYPAMiIHP0cmeC7w==",
+ "version": "10.0.2",
+ "resolved": "https://registry.npmjs.org/globby/-/globby-10.0.2.tgz",
+ "integrity": "sha512-7dUi7RvCoT/xast/o/dLN53oqND4yk0nsHkhRgn9w65C4PofCLOoJ39iSOg+qVDdWQPIEj+eszMHQ+aLVwwQSg==",
"dev": true,
"requires": {
- "array-union": "^1.0.1",
- "dir-glob": "2.0.0",
- "fast-glob": "^2.0.2",
- "glob": "^7.1.2",
- "ignore": "^3.3.5",
- "pify": "^3.0.0",
- "slash": "^1.0.0"
- },
- "dependencies": {
- "pify": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
- "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=",
- "dev": true
- }
+ "@types/glob": "^7.1.1",
+ "array-union": "^2.1.0",
+ "dir-glob": "^3.0.1",
+ "fast-glob": "^3.0.3",
+ "glob": "^7.1.3",
+ "ignore": "^5.1.1",
+ "merge2": "^1.2.3",
+ "slash": "^3.0.0"
}
},
"graceful-fs": {
@@ -4261,15 +4570,6 @@
"function-bind": "^1.1.1"
}
},
- "has-ansi": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz",
- "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=",
- "dev": true,
- "requires": {
- "ansi-regex": "^2.0.0"
- }
- },
"has-flag": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
@@ -4344,12 +4644,6 @@
}
}
},
- "hash-sum": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/hash-sum/-/hash-sum-1.0.2.tgz",
- "integrity": "sha1-M7QHd3VMZDJXPBIMw4CLvRDUfwQ=",
- "dev": true
- },
"hash.js": {
"version": "1.1.7",
"resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz",
@@ -4383,15 +4677,6 @@
"minimalistic-crypto-utils": "^1.0.1"
}
},
- "homedir-polyfill": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz",
- "integrity": "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==",
- "dev": true,
- "requires": {
- "parse-passwd": "^1.0.0"
- }
- },
"hpack.js": {
"version": "2.1.6",
"resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz",
@@ -4423,61 +4708,173 @@
"dev": true
},
"html-entities": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-1.3.1.tgz",
- "integrity": "sha512-rhE/4Z3hIhzHAUKbW8jVcCyuT5oJCXXqhN/6mXXVCpzTmvJnoH2HL/bt3EZ6p55jbFJBeAe1ZNpL5BugLujxNA==",
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-1.4.0.tgz",
+ "integrity": "sha512-8nxjcBcd8wovbeKx7h3wTji4e6+rhaVuPNpMqwWgnHh+N9ToqsCs6XztWRBPQ+UtzsoMAdKZtUENoVzU/EMtZA==",
"dev": true
},
"html-loader": {
- "version": "0.5.5",
- "resolved": "https://registry.npmjs.org/html-loader/-/html-loader-0.5.5.tgz",
- "integrity": "sha512-7hIW7YinOYUpo//kSYcPB6dCKoceKLmOwjEMmhIobHuWGDVl0Nwe4l68mdG/Ru0wcUxQjVMEoZpkalZ/SE7zog==",
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/html-loader/-/html-loader-1.3.2.tgz",
+ "integrity": "sha512-DEkUwSd0sijK5PF3kRWspYi56XP7bTNkyg5YWSzBdjaSDmvCufep5c4Vpb3PBf6lUL0YPtLwBfy9fL0t5hBAGA==",
"dev": true,
"requires": {
- "es6-templates": "^0.2.3",
- "fastparse": "^1.1.1",
- "html-minifier": "^3.5.8",
- "loader-utils": "^1.1.0",
- "object-assign": "^4.1.1"
+ "html-minifier-terser": "^5.1.1",
+ "htmlparser2": "^4.1.0",
+ "loader-utils": "^2.0.0",
+ "schema-utils": "^3.0.0"
+ },
+ "dependencies": {
+ "loader-utils": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz",
+ "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==",
+ "dev": true,
+ "requires": {
+ "big.js": "^5.2.2",
+ "emojis-list": "^3.0.0",
+ "json5": "^2.1.2"
+ }
+ },
+ "schema-utils": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz",
+ "integrity": "sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA==",
+ "dev": true,
+ "requires": {
+ "@types/json-schema": "^7.0.6",
+ "ajv": "^6.12.5",
+ "ajv-keywords": "^3.5.2"
+ }
+ }
}
},
- "html-minifier": {
- "version": "3.5.21",
- "resolved": "https://registry.npmjs.org/html-minifier/-/html-minifier-3.5.21.tgz",
- "integrity": "sha512-LKUKwuJDhxNa3uf/LPR/KVjm/l3rBqtYeCOAekvG8F1vItxMUpueGd94i/asDDr8/1u7InxzFA5EeGjhhG5mMA==",
+ "html-minifier-terser": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-5.1.1.tgz",
+ "integrity": "sha512-ZPr5MNObqnV/T9akshPKbVgyOqLmy+Bxo7juKCfTfnjNniTAMdy4hz21YQqoofMBJD2kdREaqPPdThoR78Tgxg==",
"dev": true,
"requires": {
- "camel-case": "3.0.x",
- "clean-css": "4.2.x",
- "commander": "2.17.x",
- "he": "1.2.x",
- "param-case": "2.1.x",
- "relateurl": "0.2.x",
- "uglify-js": "3.4.x"
+ "camel-case": "^4.1.1",
+ "clean-css": "^4.2.3",
+ "commander": "^4.1.1",
+ "he": "^1.2.0",
+ "param-case": "^3.0.3",
+ "relateurl": "^0.2.7",
+ "terser": "^4.6.3"
},
"dependencies": {
"commander": {
- "version": "2.17.1",
- "resolved": "https://registry.npmjs.org/commander/-/commander-2.17.1.tgz",
- "integrity": "sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg==",
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz",
+ "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==",
"dev": true
- }
- }
- },
- "http-deceiver": {
- "version": "1.2.7",
- "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz",
- "integrity": "sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc=",
- "dev": true
- },
- "http-errors": {
- "version": "1.7.2",
- "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz",
- "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==",
- "dev": true,
- "requires": {
- "depd": "~1.1.2",
- "inherits": "2.0.3",
+ },
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "dev": true
+ },
+ "terser": {
+ "version": "4.8.0",
+ "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.0.tgz",
+ "integrity": "sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw==",
+ "dev": true,
+ "requires": {
+ "commander": "^2.20.0",
+ "source-map": "~0.6.1",
+ "source-map-support": "~0.5.12"
+ },
+ "dependencies": {
+ "commander": {
+ "version": "2.20.3",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
+ "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
+ "dev": true
+ }
+ }
+ }
+ }
+ },
+ "htmlparser2": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-4.1.0.tgz",
+ "integrity": "sha512-4zDq1a1zhE4gQso/c5LP1OtrhYTncXNSpvJYtWJBtXAETPlMfi3IFNjGuQbYLuVY4ZR0QMqRVvo4Pdy9KLyP8Q==",
+ "dev": true,
+ "requires": {
+ "domelementtype": "^2.0.1",
+ "domhandler": "^3.0.0",
+ "domutils": "^2.0.0",
+ "entities": "^2.0.0"
+ },
+ "dependencies": {
+ "dom-serializer": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.2.0.tgz",
+ "integrity": "sha512-n6kZFH/KlCrqs/1GHMOd5i2fd/beQHuehKdWvNNffbGHTr/almdhuVvTVFb3V7fglz+nC50fFusu3lY33h12pA==",
+ "dev": true,
+ "requires": {
+ "domelementtype": "^2.0.1",
+ "domhandler": "^4.0.0",
+ "entities": "^2.0.0"
+ },
+ "dependencies": {
+ "domhandler": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.0.0.tgz",
+ "integrity": "sha512-KPTbnGQ1JeEMQyO1iYXoagsI6so/C96HZiFyByU3T6iAzpXn8EGEvct6unm1ZGoed8ByO2oirxgwxBmqKF9haA==",
+ "dev": true,
+ "requires": {
+ "domelementtype": "^2.1.0"
+ }
+ }
+ }
+ },
+ "domelementtype": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.1.0.tgz",
+ "integrity": "sha512-LsTgx/L5VpD+Q8lmsXSHW2WpA+eBlZ9HPf3erD1IoPF00/3JKHZ3BknUVA2QGDNu69ZNmyFmCWBSO45XjYKC5w==",
+ "dev": true
+ },
+ "domutils": {
+ "version": "2.4.4",
+ "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.4.4.tgz",
+ "integrity": "sha512-jBC0vOsECI4OMdD0GC9mGn7NXPLb+Qt6KW1YDQzeQYRUFKmNG8lh7mO5HiELfr+lLQE7loDVI4QcAxV80HS+RA==",
+ "dev": true,
+ "requires": {
+ "dom-serializer": "^1.0.1",
+ "domelementtype": "^2.0.1",
+ "domhandler": "^4.0.0"
+ },
+ "dependencies": {
+ "domhandler": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.0.0.tgz",
+ "integrity": "sha512-KPTbnGQ1JeEMQyO1iYXoagsI6so/C96HZiFyByU3T6iAzpXn8EGEvct6unm1ZGoed8ByO2oirxgwxBmqKF9haA==",
+ "dev": true,
+ "requires": {
+ "domelementtype": "^2.1.0"
+ }
+ }
+ }
+ }
+ }
+ },
+ "http-deceiver": {
+ "version": "1.2.7",
+ "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz",
+ "integrity": "sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc=",
+ "dev": true
+ },
+ "http-errors": {
+ "version": "1.7.2",
+ "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz",
+ "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==",
+ "dev": true,
+ "requires": {
+ "depd": "~1.1.2",
+ "inherits": "2.0.3",
"setprototypeof": "1.1.1",
"statuses": ">= 1.5.0 < 2",
"toidentifier": "1.0.0"
@@ -4491,6 +4888,12 @@
}
}
},
+ "http-parser-js": {
+ "version": "0.5.2",
+ "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.2.tgz",
+ "integrity": "sha512-opCO9ASqg5Wy2FNo7A0sxy71yGbbkJJXLdgMK04Tcypw9jr2MgWbyubb0+WdmDmGnFflO7fRbqbaihh/ENDlRQ==",
+ "dev": true
+ },
"http-proxy": {
"version": "1.18.1",
"resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz",
@@ -4503,15 +4906,61 @@
}
},
"http-proxy-middleware": {
- "version": "0.19.1",
- "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-0.19.1.tgz",
- "integrity": "sha512-yHYTgWMQO8VvwNS22eLLloAkvungsKdKTLO8AJlftYIKNfJr3GK3zK0ZCfzDDGUBttdGc8xFy1mCitvNKQtC3Q==",
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-1.0.6.tgz",
+ "integrity": "sha512-NyL6ZB6cVni7pl+/IT2W0ni5ME00xR0sN27AQZZrpKn1b+qRh+mLbBxIq9Cq1oGfmTc7BUq4HB77mxwCaxAYNg==",
"dev": true,
"requires": {
- "http-proxy": "^1.17.0",
- "is-glob": "^4.0.0",
- "lodash": "^4.17.11",
- "micromatch": "^3.1.10"
+ "@types/http-proxy": "^1.17.4",
+ "http-proxy": "^1.18.1",
+ "is-glob": "^4.0.1",
+ "lodash": "^4.17.20",
+ "micromatch": "^4.0.2"
+ },
+ "dependencies": {
+ "braces": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
+ "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
+ "dev": true,
+ "requires": {
+ "fill-range": "^7.0.1"
+ }
+ },
+ "fill-range": {
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
+ "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
+ "dev": true,
+ "requires": {
+ "to-regex-range": "^5.0.1"
+ }
+ },
+ "is-number": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
+ "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
+ "dev": true
+ },
+ "micromatch": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz",
+ "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==",
+ "dev": true,
+ "requires": {
+ "braces": "^3.0.1",
+ "picomatch": "^2.0.5"
+ }
+ },
+ "to-regex-range": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
+ "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
+ "dev": true,
+ "requires": {
+ "is-number": "^7.0.0"
+ }
+ }
}
},
"https-browserify": {
@@ -4520,6 +4969,12 @@
"integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=",
"dev": true
},
+ "human-signals": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz",
+ "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==",
+ "dev": true
+ },
"iconv-lite": {
"version": "0.4.24",
"resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
@@ -4529,89 +4984,37 @@
"safer-buffer": ">= 2.1.2 < 3"
}
},
- "icss-replace-symbols": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz",
- "integrity": "sha1-Bupvg2ead0njhs/h/oEq5dsiPe0=",
- "dev": true
- },
"icss-utils": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-2.1.0.tgz",
- "integrity": "sha1-g/Cg7DeL8yRheLbCrZE28TWxyWI=",
- "dev": true,
- "requires": {
- "postcss": "^6.0.1"
- },
- "dependencies": {
- "postcss": {
- "version": "6.0.23",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz",
- "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==",
- "dev": true,
- "requires": {
- "chalk": "^2.4.1",
- "source-map": "^0.6.1",
- "supports-color": "^5.4.0"
- }
- },
- "source-map": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
- "dev": true
- }
- }
- },
- "ieee754": {
- "version": "1.1.13",
- "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz",
- "integrity": "sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==",
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz",
+ "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==",
"dev": true
},
- "iferr": {
- "version": "0.1.5",
- "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz",
- "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=",
+ "ieee754": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz",
+ "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==",
"dev": true
},
"ignore": {
- "version": "3.3.10",
- "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.10.tgz",
- "integrity": "sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug==",
+ "version": "5.1.8",
+ "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz",
+ "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==",
"dev": true
},
"imagemin": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/imagemin/-/imagemin-6.1.0.tgz",
- "integrity": "sha512-8ryJBL1CN5uSHpiBMX0rJw79C9F9aJqMnjGnrd/1CafegpNuA81RBAAru/jQQEOWlOJJlpRnlcVFF6wq+Ist0A==",
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/imagemin/-/imagemin-7.0.1.tgz",
+ "integrity": "sha512-33AmZ+xjZhg2JMCe+vDf6a9mzWukE7l+wAtesjE7KyteqqKjzxv7aVQeWnul1Ve26mWvEQqyPwl0OctNBfSR9w==",
"dev": true,
"requires": {
- "file-type": "^10.7.0",
- "globby": "^8.0.1",
- "make-dir": "^1.0.0",
- "p-pipe": "^1.1.0",
- "pify": "^4.0.1",
+ "file-type": "^12.0.0",
+ "globby": "^10.0.0",
+ "graceful-fs": "^4.2.2",
+ "junk": "^3.1.0",
+ "make-dir": "^3.0.0",
+ "p-pipe": "^3.0.0",
"replace-ext": "^1.0.0"
- },
- "dependencies": {
- "make-dir": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz",
- "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==",
- "dev": true,
- "requires": {
- "pify": "^3.0.0"
- },
- "dependencies": {
- "pify": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
- "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=",
- "dev": true
- }
- }
- }
}
},
"img-loader": {
@@ -4624,12 +5027,12 @@
}
},
"import-cwd": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/import-cwd/-/import-cwd-2.1.0.tgz",
- "integrity": "sha1-qmzzbnInYShcs3HsZRn1PiQ1sKk=",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/import-cwd/-/import-cwd-3.0.0.tgz",
+ "integrity": "sha512-4pnzH16plW+hgvRECbDWpQl3cqtvSofHWh44met7ESfZ8UZOWWddm8hEyDTqREJ9RbYHY8gi8DqmaelApoOGMg==",
"dev": true,
"requires": {
- "import-from": "^2.1.0"
+ "import-from": "^3.0.0"
}
},
"import-fresh": {
@@ -4643,30 +5046,32 @@
}
},
"import-from": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/import-from/-/import-from-2.1.0.tgz",
- "integrity": "sha1-M1238qev/VOqpHHUuAId7ja387E=",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/import-from/-/import-from-3.0.0.tgz",
+ "integrity": "sha512-CiuXOFFSzkU5x/CR0+z7T91Iht4CXgfCxVOFRhh2Zyhg5wOpWvvDLQUsWl+gcN+QscYBjez8hDCt85O7RLDttQ==",
"dev": true,
"requires": {
- "resolve-from": "^3.0.0"
+ "resolve-from": "^5.0.0"
+ },
+ "dependencies": {
+ "resolve-from": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz",
+ "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==",
+ "dev": true
+ }
}
},
"import-local": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/import-local/-/import-local-2.0.0.tgz",
- "integrity": "sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ==",
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.0.2.tgz",
+ "integrity": "sha512-vjL3+w0oulAVZ0hBHnxa/Nm5TAurf9YLQJDhqRZyqb+VKGOB6LU8t9H1Nr5CIo16vh9XfJTOoHwU0B71S557gA==",
"dev": true,
"requires": {
- "pkg-dir": "^3.0.0",
- "resolve-cwd": "^2.0.0"
+ "pkg-dir": "^4.2.0",
+ "resolve-cwd": "^3.0.0"
}
},
- "imurmurhash": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
- "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=",
- "dev": true
- },
"indent-string": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz",
@@ -4679,12 +5084,6 @@
"integrity": "sha1-8w9xbI4r00bHtn0985FVZqfAVgc=",
"dev": true
},
- "infer-owner": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz",
- "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==",
- "dev": true
- },
"inflight": {
"version": "1.0.6",
"resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
@@ -4701,26 +5100,22 @@
"integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
"dev": true
},
- "ini": {
- "version": "1.3.5",
- "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz",
- "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==",
- "dev": true
- },
"internal-ip": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/internal-ip/-/internal-ip-4.3.0.tgz",
- "integrity": "sha512-S1zBo1D6zcsyuC6PMmY5+55YMILQ9av8lotMx447Bq6SAgo/sDK6y6uUKmuYhW7eacnIhFfsPmCNYdDzsnnDCg==",
+ "version": "6.2.0",
+ "resolved": "https://registry.npmjs.org/internal-ip/-/internal-ip-6.2.0.tgz",
+ "integrity": "sha512-D8WGsR6yDt8uq7vDMu7mjcR+yRMm3dW8yufyChmszWRjcSHuxLBkR3GdS2HZAjodsaGuCvXeEJpueisXJULghg==",
"dev": true,
"requires": {
- "default-gateway": "^4.2.0",
- "ipaddr.js": "^1.9.0"
+ "default-gateway": "^6.0.0",
+ "ipaddr.js": "^1.9.1",
+ "is-ip": "^3.1.0",
+ "p-event": "^4.2.0"
}
},
"interpret": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz",
- "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==",
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/interpret/-/interpret-2.2.0.tgz",
+ "integrity": "sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw==",
"dev": true
},
"ip": {
@@ -4730,9 +5125,9 @@
"dev": true
},
"ip-regex": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz",
- "integrity": "sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk=",
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-4.2.0.tgz",
+ "integrity": "sha512-n5cDDeTWWRwK1EBoWwRti+8nP4NbytBBY0pldmnIkq6Z55KNFmWofh4rl9dPZpj+U/nVq7gweR3ylrvMt4YZ5A==",
"dev": true
},
"ipaddr.js": {
@@ -4768,10 +5163,13 @@
}
},
"is-arguments": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.0.4.tgz",
- "integrity": "sha512-xPh0Rmt8NE65sNzvyUmWgI1tz3mKq74lGA0mL8LYZcoIzKOzDh6HmrYm3d18k60nHerC8A9Km8kYu87zfSFnLA==",
- "dev": true
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.0.tgz",
+ "integrity": "sha512-1Ij4lOMPl/xB5kBDn7I+b2ttPMKa8szhEIrXDuXQD/oe3HJLTLhqhgGspwgyGd6MOywBUqVvYicF72lkgDnIHg==",
+ "dev": true,
+ "requires": {
+ "call-bind": "^1.0.0"
+ }
},
"is-arrayish": {
"version": "0.2.1",
@@ -4814,6 +5212,15 @@
"rgba-regex": "^1.0.0"
}
},
+ "is-core-module": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.2.0.tgz",
+ "integrity": "sha512-XRAfAdyyY5F5cOXn7hYQDqh2Xmii+DEfIcQGxK/uNwMHhIkPWO0g8msXcbzLe+MpGoR951MlqM/2iIlU4vKDdQ==",
+ "dev": true,
+ "requires": {
+ "has": "^1.0.3"
+ }
+ },
"is-data-descriptor": {
"version": "0.1.4",
"resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
@@ -4865,6 +5272,12 @@
"integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=",
"dev": true
},
+ "is-docker": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.1.1.tgz",
+ "integrity": "sha512-ZOoqiXfEwtGknTiuDEy8pN2CfE3TxMHprvNer1mXiqwkOT77Rw3YVrUQ52EqAOU3QAWDQ+bQdx7HJzrv7LS2Hw==",
+ "dev": true
+ },
"is-extendable": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
@@ -4881,9 +5294,15 @@
"dev": true
},
"is-fullwidth-code-point": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
- "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
+ "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
+ "dev": true
+ },
+ "is-generator-function": {
+ "version": "1.0.8",
+ "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.8.tgz",
+ "integrity": "sha512-2Omr/twNtufVZFr1GhxjOMFPAj2sjc/dKaIqBhvo4qciXfJmITGH6ZGd8eZYNHza8t1y0e01AuqRhJwfWp26WQ==",
"dev": true
},
"is-glob": {
@@ -4895,10 +5314,19 @@
"is-extglob": "^2.1.1"
}
},
+ "is-ip": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/is-ip/-/is-ip-3.1.0.tgz",
+ "integrity": "sha512-35vd5necO7IitFPjd/YBeqwWnyDWbuLH9ZXQdMfDA8TEo7pv5X8yfrvVO3xbJbLUlERCMvf6X0hTUamQxCYJ9Q==",
+ "dev": true,
+ "requires": {
+ "ip-regex": "^4.0.0"
+ }
+ },
"is-negative-zero": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.0.tgz",
- "integrity": "sha1-lVOxIbD6wohp2p7UWeIMdUN4hGE=",
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.1.tgz",
+ "integrity": "sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==",
"dev": true
},
"is-number": {
@@ -4933,23 +5361,11 @@
"integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==",
"dev": true
},
- "is-path-in-cwd": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-2.1.0.tgz",
- "integrity": "sha512-rNocXHgipO+rvnP6dk3zI20RpOtrAM/kzbB258Uw5BWr3TpXi861yzjo16Dn4hUox07iw5AyeMLHWsujkjzvRQ==",
- "dev": true,
- "requires": {
- "is-path-inside": "^2.1.0"
- }
- },
"is-path-inside": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-2.1.0.tgz",
- "integrity": "sha512-wiyhTzfDWsvwAW53OBWF5zuvaOGlZ6PwYxAbPVDhpm+gM09xKQGjBq/8uYN12aDvMxnAnq3dxTyoSoRNmg5YFg==",
- "dev": true,
- "requires": {
- "path-is-inside": "^1.0.2"
- }
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.2.tgz",
+ "integrity": "sha512-/2UGPSgmtqwo1ktx8NDHjuPwZWmHhO+gj0f93EkhLB5RgW9RZevWYYlIkS6zePc6U2WpOdQYIwHe9YC4DWEBVg==",
+ "dev": true
},
"is-plain-object": {
"version": "2.0.4",
@@ -4976,9 +5392,9 @@
"dev": true
},
"is-stream": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz",
- "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz",
+ "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==",
"dev": true
},
"is-svg": {
@@ -4999,6 +5415,19 @@
"has-symbols": "^1.0.1"
}
},
+ "is-typed-array": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.4.tgz",
+ "integrity": "sha512-ILaRgn4zaSrVNXNGtON6iFNotXW3hAPF3+0fB1usg2jFlWqo5fEDdmJkz0zBfoi7Dgskr8Khi2xZ8cXqZEfXNA==",
+ "dev": true,
+ "requires": {
+ "available-typed-arrays": "^1.0.2",
+ "call-bind": "^1.0.0",
+ "es-abstract": "^1.18.0-next.1",
+ "foreach": "^2.0.5",
+ "has-symbols": "^1.0.1"
+ }
+ },
"is-windows": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz",
@@ -5006,10 +5435,13 @@
"dev": true
},
"is-wsl": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz",
- "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=",
- "dev": true
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz",
+ "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==",
+ "dev": true,
+ "requires": {
+ "is-docker": "^2.0.0"
+ }
},
"isarray": {
"version": "1.0.0",
@@ -5030,11 +5462,12 @@
"dev": true
},
"jest-worker": {
- "version": "25.5.0",
- "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-25.5.0.tgz",
- "integrity": "sha512-/dsSmUkIy5EBGfv/IjjqmFxrNAUpBERfGs1oHROyD7yxjG/w+t0GOJDX8O1k32ySmd7+a5IhnJU2qQFcJ4n1vw==",
+ "version": "26.6.2",
+ "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz",
+ "integrity": "sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==",
"dev": true,
"requires": {
+ "@types/node": "*",
"merge-stream": "^2.0.0",
"supports-color": "^7.0.0"
},
@@ -5056,12 +5489,6 @@
}
}
},
- "jquery": {
- "version": "3.5.1",
- "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.5.1.tgz",
- "integrity": "sha512-XwIBPqcMn57FxfT+Go5pzySnm4KWkT1Tv7gjrpT1srtf8Weynl6R273VJ5GjkRb51IzMp5nbaPjJXMWeju2MKg==",
- "dev": true
- },
"js-tokens": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
@@ -5069,21 +5496,13 @@
"dev": true
},
"js-yaml": {
- "version": "3.14.0",
- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.0.tgz",
- "integrity": "sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A==",
+ "version": "3.14.1",
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz",
+ "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==",
"dev": true,
"requires": {
"argparse": "^1.0.7",
"esprima": "^4.0.0"
- },
- "dependencies": {
- "esprima": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
- "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==",
- "dev": true
- }
}
},
"jsesc": {
@@ -5098,6 +5517,12 @@
"integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==",
"dev": true
},
+ "json-parse-even-better-errors": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz",
+ "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==",
+ "dev": true
+ },
"json-schema-traverse": {
"version": "0.4.1",
"resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
@@ -5120,14 +5545,29 @@
}
},
"jsonfile": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz",
- "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=",
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz",
+ "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==",
"dev": true,
"requires": {
- "graceful-fs": "^4.1.6"
+ "graceful-fs": "^4.1.6",
+ "universalify": "^2.0.0"
+ },
+ "dependencies": {
+ "universalify": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz",
+ "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==",
+ "dev": true
+ }
}
},
+ "junk": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/junk/-/junk-3.1.0.tgz",
+ "integrity": "sha512-pBxcB3LFc8QVgdggvZWyeys+hnrNWg4OcZIU/1X59k5jQdLBlCsYGRQaz234SqoRLTCgMH00fY0xRJH+F9METQ==",
+ "dev": true
+ },
"killable": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/killable/-/killable-1.0.1.tgz",
@@ -5147,65 +5587,176 @@
"dev": true
},
"laravel-mix": {
- "version": "5.0.7",
- "resolved": "https://registry.npmjs.org/laravel-mix/-/laravel-mix-5.0.7.tgz",
- "integrity": "sha512-TL5txnQkzcwM8DYckgzjISSPGyZN6znFYb4NgtTSi9aIvfzOIEC6p0eYM6wDa/BkEKv290Ru6HWmH6Q2XApogQ==",
- "dev": true,
- "requires": {
- "@babel/core": "^7.2.0",
- "@babel/plugin-proposal-object-rest-spread": "^7.2.0",
- "@babel/plugin-syntax-dynamic-import": "^7.2.0",
- "@babel/plugin-transform-runtime": "^7.2.0",
- "@babel/preset-env": "^7.2.0",
- "@babel/runtime": "^7.2.0",
- "autoprefixer": "^9.4.2",
- "babel-loader": "^8.0.4",
- "babel-merge": "^2.0.1",
- "chokidar": "^2.0.3",
- "clean-css": "^4.1.3",
- "collect.js": "^4.12.8",
- "concat": "^1.0.3",
- "css-loader": "^1.0.1",
- "dotenv": "^6.2.0",
- "dotenv-expand": "^4.2.0",
- "extract-text-webpack-plugin": "v4.0.0-beta.0",
- "file-loader": "^2.0.0",
- "friendly-errors-webpack-plugin": "^1.6.1",
- "fs-extra": "^7.0.1",
- "glob": "^7.1.2",
- "html-loader": "^0.5.5",
- "imagemin": "^6.0.0",
- "img-loader": "^3.0.0",
- "lodash": "^4.17.15",
- "md5": "^2.2.1",
- "optimize-css-assets-webpack-plugin": "^5.0.1",
- "postcss-loader": "^3.0.0",
- "style-loader": "^0.23.1",
- "terser": "^3.11.0",
- "terser-webpack-plugin": "^2.2.3",
- "vue-loader": "^15.4.2",
- "webpack": "^4.36.1",
- "webpack-cli": "^3.1.2",
- "webpack-dev-server": "^3.1.14",
- "webpack-merge": "^4.1.0",
- "webpack-notifier": "^1.5.1",
- "yargs": "^15.4.1"
- }
- },
- "last-call-webpack-plugin": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/last-call-webpack-plugin/-/last-call-webpack-plugin-3.0.0.tgz",
- "integrity": "sha512-7KI2l2GIZa9p2spzPIVZBYyNKkN+e/SQPpnjlTiPhdbDW3F86tdKKELxKpzJ5sgU19wQWsACULZmpTPYHeWO5w==",
+ "version": "6.0.5",
+ "resolved": "https://registry.npmjs.org/laravel-mix/-/laravel-mix-6.0.5.tgz",
+ "integrity": "sha512-ElX4SnA1yWO0BrcHpeOL/kiyJyXKHkhn2s49CeHFgZdBf1UlIaPxMwcp3R0ztiPPw2t/BXqHwjwMOSndkMMNNg==",
"dev": true,
"requires": {
- "lodash": "^4.17.5",
- "webpack-sources": "^1.1.0"
+ "@babel/core": "^7.12.3",
+ "@babel/plugin-proposal-object-rest-spread": "^7.12.1",
+ "@babel/plugin-syntax-dynamic-import": "^7.8.3",
+ "@babel/plugin-transform-runtime": "^7.12.1",
+ "@babel/preset-env": "^7.12.1",
+ "@babel/runtime": "^7.12.1",
+ "@types/autoprefixer": "^9.7.2",
+ "@types/babel-core": "^6.25.6",
+ "@types/browser-sync": "^2.26.1",
+ "@types/clean-css": "^4.2.2",
+ "@types/cssnano": "^4.0.0",
+ "@types/imagemin-gifsicle": "^7.0.0",
+ "@types/imagemin-mozjpeg": "^8.0.0",
+ "@types/imagemin-optipng": "^5.2.0",
+ "@types/imagemin-svgo": "^8.0.0",
+ "autoprefixer": "^10.0.1",
+ "babel-loader": "^8.1.0",
+ "babel-merge": "^3.0.0",
+ "chalk": "^4.1.0",
+ "chokidar": "^3.4.3",
+ "clean-css": "^4.2.3",
+ "cli-table3": "^0.6.0",
+ "collect.js": "^4.28.4",
+ "commander": "^6.1.0",
+ "concat": "^1.0.3",
+ "cross-env": "^7.0.2",
+ "css-loader": "^5.0.0",
+ "cssnano": "^4.1.10",
+ "dotenv": "^8.2.0",
+ "dotenv-expand": "^5.1.0",
+ "file-loader": "^6.1.1",
+ "fs-extra": "^9.0.1",
+ "glob": "^7.1.6",
+ "html-loader": "^1.3.2",
+ "imagemin": "^7.0.1",
+ "img-loader": "^3.0.2",
+ "lodash": "^4.17.20",
+ "md5": "^2.3.0",
+ "mini-css-extract-plugin": "^1.1.0",
+ "node-libs-browser": "^2.2.1",
+ "postcss-load-config": "^3.0.0",
+ "postcss-loader": "^4.0.4",
+ "semver": "^5.7.1",
+ "style-loader": "^2.0.0",
+ "terser": "^5.3.7",
+ "terser-webpack-plugin": "^5.0.0",
+ "webpack": "^5.1.3",
+ "webpack-cli": "^4.1.0",
+ "webpack-dev-server": "^4.0.0-beta.0",
+ "webpack-merge": "^5.2.0",
+ "webpack-notifier": "^1.8.0",
+ "yargs": "^16.1.0"
+ },
+ "dependencies": {
+ "anymatch": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz",
+ "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==",
+ "dev": true,
+ "requires": {
+ "normalize-path": "^3.0.0",
+ "picomatch": "^2.0.4"
+ }
+ },
+ "binary-extensions": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.1.0.tgz",
+ "integrity": "sha512-1Yj8h9Q+QDF5FzhMs/c9+6UntbD5MkRfRwac8DoEm9ZfUBZ7tZ55YcGVAzEe4bXsdQHEk+s9S5wsOKVdZrw0tQ==",
+ "dev": true
+ },
+ "braces": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
+ "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
+ "dev": true,
+ "requires": {
+ "fill-range": "^7.0.1"
+ }
+ },
+ "chokidar": {
+ "version": "3.4.3",
+ "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.4.3.tgz",
+ "integrity": "sha512-DtM3g7juCXQxFVSNPNByEC2+NImtBuxQQvWlHunpJIS5Ocr0lG306cC7FCi7cEA0fzmybPUIl4txBIobk1gGOQ==",
+ "dev": true,
+ "requires": {
+ "anymatch": "~3.1.1",
+ "braces": "~3.0.2",
+ "fsevents": "~2.1.2",
+ "glob-parent": "~5.1.0",
+ "is-binary-path": "~2.1.0",
+ "is-glob": "~4.0.1",
+ "normalize-path": "~3.0.0",
+ "readdirp": "~3.5.0"
+ }
+ },
+ "fill-range": {
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
+ "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
+ "dev": true,
+ "requires": {
+ "to-regex-range": "^5.0.1"
+ }
+ },
+ "fsevents": {
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz",
+ "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==",
+ "dev": true,
+ "optional": true
+ },
+ "glob-parent": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz",
+ "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==",
+ "dev": true,
+ "requires": {
+ "is-glob": "^4.0.1"
+ }
+ },
+ "is-binary-path": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
+ "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
+ "dev": true,
+ "requires": {
+ "binary-extensions": "^2.0.0"
+ }
+ },
+ "is-number": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
+ "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
+ "dev": true
+ },
+ "readdirp": {
+ "version": "3.5.0",
+ "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.5.0.tgz",
+ "integrity": "sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==",
+ "dev": true,
+ "requires": {
+ "picomatch": "^2.2.1"
+ }
+ },
+ "to-regex-range": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
+ "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
+ "dev": true,
+ "requires": {
+ "is-number": "^7.0.0"
+ }
+ }
}
},
+ "lines-and-columns": {
+ "version": "1.1.6",
+ "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz",
+ "integrity": "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=",
+ "dev": true
+ },
"loader-runner": {
- "version": "2.4.0",
- "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz",
- "integrity": "sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==",
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.1.0.tgz",
+ "integrity": "sha512-oR4lB4WvwFoC70ocraKhn5nkKSs23t57h9udUgw8o0iH8hMXeEoRuUgfcvgUwAJ1ZpRqBvcou4N2SMvM1DwMrA==",
"dev": true
},
"loader-utils": {
@@ -5231,13 +5782,12 @@
}
},
"locate-path": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz",
- "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==",
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
+ "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
"dev": true,
"requires": {
- "p-locate": "^3.0.0",
- "path-exists": "^3.0.0"
+ "p-locate": "^4.1.0"
}
},
"lodash": {
@@ -5258,43 +5808,48 @@
"integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=",
"dev": true
},
- "loglevel": {
- "version": "1.7.0",
- "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.7.0.tgz",
- "integrity": "sha512-i2sY04nal5jDcagM3FMfG++T69GEEM8CYuOfeOIvmXzOIcwE9a/CJPR0MFM97pYMj/u10lzz7/zd7+qwhrBTqQ==",
- "dev": true
- },
"lower-case": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-1.1.4.tgz",
- "integrity": "sha1-miyr0bno4K6ZOkv31YdcOcQujqw=",
- "dev": true
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz",
+ "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==",
+ "dev": true,
+ "requires": {
+ "tslib": "^2.0.3"
+ }
},
"lru-cache": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz",
- "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==",
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
+ "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
+ "dev": true,
+ "requires": {
+ "yallist": "^4.0.0"
+ }
+ },
+ "make-dir": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz",
+ "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==",
"dev": true,
"requires": {
- "yallist": "^3.0.2"
+ "semver": "^6.0.0"
},
"dependencies": {
- "yallist": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
- "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==",
+ "semver": {
+ "version": "6.3.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
+ "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
"dev": true
}
}
},
- "make-dir": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz",
- "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==",
+ "map-age-cleaner": {
+ "version": "0.1.3",
+ "resolved": "https://registry.npmjs.org/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz",
+ "integrity": "sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w==",
"dev": true,
"requires": {
- "pify": "^4.0.1",
- "semver": "^5.6.0"
+ "p-defer": "^1.0.0"
}
},
"map-cache": {
@@ -5312,6 +5867,12 @@
"object-visit": "^1.0.0"
}
},
+ "marked": {
+ "version": "1.2.4",
+ "resolved": "https://registry.npmjs.org/marked/-/marked-1.2.4.tgz",
+ "integrity": "sha512-6x5TFGCTKSQBLTZtOburGxCxFEBJEGYVLwCMTBCxzvyuisGcC20UNzDSJhCr/cJ/Kmh6ulfJm10g6WWEAJ3kvg==",
+ "dev": true
+ },
"md5": {
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/md5/-/md5-2.3.0.tgz",
@@ -5346,14 +5907,31 @@
"integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=",
"dev": true
},
- "memory-fs": {
- "version": "0.4.1",
- "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz",
- "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=",
+ "mem": {
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/mem/-/mem-8.0.0.tgz",
+ "integrity": "sha512-qrcJOe6uD+EW8Wrci1Vdiua/15Xw3n/QnaNXE7varnB6InxSk7nu3/i5jfy3S6kWxr8WYJ6R1o0afMUtvorTsA==",
+ "dev": true,
+ "requires": {
+ "map-age-cleaner": "^0.1.3",
+ "mimic-fn": "^3.1.0"
+ },
+ "dependencies": {
+ "mimic-fn": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-3.1.0.tgz",
+ "integrity": "sha512-Ysbi9uYW9hFyfrThdDEQuykN4Ey6BuwPD2kpI5ES/nFTDn/98yxYNLZJcgUAKPT/mcrLLKaGzJR9YVxJrIdASQ==",
+ "dev": true
+ }
+ }
+ },
+ "memfs": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.2.0.tgz",
+ "integrity": "sha512-f/xxz2TpdKv6uDn6GtHee8ivFyxwxmPuXatBb1FBwxYNuVpbM3k/Y1Z+vC0mH/dIXXrukYfe3qe5J32Dfjg93A==",
"dev": true,
"requires": {
- "errno": "^0.1.3",
- "readable-stream": "^2.0.1"
+ "fs-monkey": "1.0.1"
}
},
"merge-descriptors": {
@@ -5362,23 +5940,6 @@
"integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=",
"dev": true
},
- "merge-source-map": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/merge-source-map/-/merge-source-map-1.1.0.tgz",
- "integrity": "sha512-Qkcp7P2ygktpMPh2mCQZaf3jhN6D3Z/qVZHSdWvQ+2Ef5HgRAPBO57A77+ENm0CPx2+1Ce/MYKi3ymqdfuqibw==",
- "dev": true,
- "requires": {
- "source-map": "^0.6.1"
- },
- "dependencies": {
- "source-map": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
- "dev": true
- }
- }
- },
"merge-stream": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz",
@@ -5457,6 +6018,47 @@
"mime-db": "1.44.0"
}
},
+ "mimic-fn": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz",
+ "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==",
+ "dev": true
+ },
+ "mini-css-extract-plugin": {
+ "version": "1.3.3",
+ "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-1.3.3.tgz",
+ "integrity": "sha512-7lvliDSMiuZc81kI+5/qxvn47SCM7BehXex3f2c6l/pR3Goj58IQxZh9nuPQ3AkGQgoETyXuIqLDaO5Oa0TyBw==",
+ "dev": true,
+ "requires": {
+ "loader-utils": "^2.0.0",
+ "schema-utils": "^3.0.0",
+ "webpack-sources": "^1.1.0"
+ },
+ "dependencies": {
+ "loader-utils": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz",
+ "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==",
+ "dev": true,
+ "requires": {
+ "big.js": "^5.2.2",
+ "emojis-list": "^3.0.0",
+ "json5": "^2.1.2"
+ }
+ },
+ "schema-utils": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz",
+ "integrity": "sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA==",
+ "dev": true,
+ "requires": {
+ "@types/json-schema": "^7.0.6",
+ "ajv": "^6.12.5",
+ "ajv-keywords": "^3.5.2"
+ }
+ }
+ }
+ },
"minimalistic-assert": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz",
@@ -5484,60 +6086,6 @@
"integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
"dev": true
},
- "minipass": {
- "version": "3.1.3",
- "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.3.tgz",
- "integrity": "sha512-Mgd2GdMVzY+x3IJ+oHnVM+KG3lA5c8tnabyJKmHSaG2kAGpudxuOf8ToDkhumF7UzME7DecbQE9uOZhNm7PuJg==",
- "dev": true,
- "requires": {
- "yallist": "^4.0.0"
- }
- },
- "minipass-collect": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-1.0.2.tgz",
- "integrity": "sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==",
- "dev": true,
- "requires": {
- "minipass": "^3.0.0"
- }
- },
- "minipass-flush": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz",
- "integrity": "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==",
- "dev": true,
- "requires": {
- "minipass": "^3.0.0"
- }
- },
- "minipass-pipeline": {
- "version": "1.2.4",
- "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz",
- "integrity": "sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==",
- "dev": true,
- "requires": {
- "minipass": "^3.0.0"
- }
- },
- "mississippi": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz",
- "integrity": "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==",
- "dev": true,
- "requires": {
- "concat-stream": "^1.5.0",
- "duplexify": "^3.4.2",
- "end-of-stream": "^1.1.0",
- "flush-write-stream": "^1.0.0",
- "from2": "^2.1.0",
- "parallel-transform": "^1.1.0",
- "pump": "^3.0.0",
- "pumpify": "^1.3.3",
- "stream-each": "^1.1.0",
- "through2": "^2.0.0"
- }
- },
"mixin-deep": {
"version": "1.3.2",
"resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz",
@@ -5557,20 +6105,6 @@
"minimist": "^1.2.5"
}
},
- "move-concurrently": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz",
- "integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=",
- "dev": true,
- "requires": {
- "aproba": "^1.1.1",
- "copy-concurrently": "^1.0.0",
- "fs-write-stream-atomic": "^1.0.8",
- "mkdirp": "^0.5.1",
- "rimraf": "^2.5.4",
- "run-queue": "^1.0.3"
- }
- },
"ms": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
@@ -5600,6 +6134,12 @@
"dev": true,
"optional": true
},
+ "nanoid": {
+ "version": "3.1.20",
+ "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.20.tgz",
+ "integrity": "sha512-a1cQNyczgKbLX9jwbS/+d7W8fX/RfgYR7lVWwWOGIPNgK2m0MWvrGF6/m4kk6U3QcFMnZf3RIhL0v2Jgh/0Uxw==",
+ "dev": true
+ },
"nanomatch": {
"version": "1.2.13",
"resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz",
@@ -5631,19 +6171,14 @@
"integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==",
"dev": true
},
- "nice-try": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz",
- "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==",
- "dev": true
- },
"no-case": {
- "version": "2.3.2",
- "resolved": "https://registry.npmjs.org/no-case/-/no-case-2.3.2.tgz",
- "integrity": "sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==",
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz",
+ "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==",
"dev": true,
"requires": {
- "lower-case": "^1.1.1"
+ "lower-case": "^2.0.2",
+ "tslib": "^2.0.3"
}
},
"node-forge": {
@@ -5692,33 +6227,40 @@
}
},
"node-notifier": {
- "version": "5.4.3",
- "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-5.4.3.tgz",
- "integrity": "sha512-M4UBGcs4jeOK9CjTsYwkvH6/MzuUmGCyTW+kCY7uO+1ZVr0+FHGdPdIf5CCLqAaxnRrWidyoQlNkMIIVwbKB8Q==",
+ "version": "8.0.1",
+ "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-8.0.1.tgz",
+ "integrity": "sha512-BvEXF+UmsnAfYfoapKM9nGxnP+Wn7P91YfXmrKnfcYCx6VBeoN5Ez5Ogck6I8Bi5k4RlpqRYaw75pAwzX9OphA==",
"dev": true,
"requires": {
"growly": "^1.3.0",
- "is-wsl": "^1.1.0",
- "semver": "^5.5.0",
+ "is-wsl": "^2.2.0",
+ "semver": "^7.3.2",
"shellwords": "^0.1.1",
- "which": "^1.3.0"
+ "uuid": "^8.3.0",
+ "which": "^2.0.2"
},
"dependencies": {
- "which": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
- "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
+ "semver": {
+ "version": "7.3.4",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz",
+ "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==",
"dev": true,
"requires": {
- "isexe": "^2.0.0"
+ "lru-cache": "^6.0.0"
}
+ },
+ "uuid": {
+ "version": "8.3.2",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==",
+ "dev": true
}
}
},
"node-releases": {
- "version": "1.1.63",
- "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.63.tgz",
- "integrity": "sha512-ukW3iCfQaoxJkSPN+iK7KznTeqDGVJatAEuXsJERYHa9tn/KaT5lBdIyxQjLEVTzSkyjJEuQ17/vaEjrOauDkg==",
+ "version": "1.1.67",
+ "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.67.tgz",
+ "integrity": "sha512-V5QF9noGFl3EymEwUYzO+3NTDpGfQB4ve6Qfnzf3UNydMhjQRVPR1DZTuvWiLzaFJYw2fmDwAfnRNEVb64hSIg==",
"dev": true
},
"normalize-path": {
@@ -5740,20 +6282,12 @@
"dev": true
},
"npm-run-path": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz",
- "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=",
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz",
+ "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==",
"dev": true,
"requires": {
- "path-key": "^2.0.0"
- },
- "dependencies": {
- "path-key": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz",
- "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=",
- "dev": true
- }
+ "path-key": "^3.0.0"
}
},
"nth-check": {
@@ -5765,12 +6299,6 @@
"boolbase": "~1.0.0"
}
},
- "num2fraction": {
- "version": "1.2.2",
- "resolved": "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz",
- "integrity": "sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4=",
- "dev": true
- },
"object-assign": {
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
@@ -5809,19 +6337,19 @@
}
},
"object-inspect": {
- "version": "1.8.0",
- "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.8.0.tgz",
- "integrity": "sha512-jLdtEOB112fORuypAyl/50VRVIBIdVQOSUUGQHzJ4xBSbit81zRarz7GThkEFZy1RceYrWYcPcBFPQwHyAc1gA==",
+ "version": "1.9.0",
+ "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.9.0.tgz",
+ "integrity": "sha512-i3Bp9iTqwhaLZBxGkRfo5ZbE07BQRT7MGu8+nNgwW9ItGp1TzCTw2DLEoWwjClxBjOFI/hWljTAmYGCEwmtnOw==",
"dev": true
},
"object-is": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.3.tgz",
- "integrity": "sha512-teyqLvFWzLkq5B9ki8FVWA902UER2qkxmdA4nLf+wjOLAWgxzCWZNCxpDq9MvE8MmhWNr+I8w3BN49Vx36Y6Xg==",
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.4.tgz",
+ "integrity": "sha512-1ZvAZ4wlF7IyPVOcE1Omikt7UpaFlOQq0HlSti+ZvDH3UiD2brwGMwDbyV43jao2bKJ+4+WdPJHSd7kgzKYVqg==",
"dev": true,
"requires": {
- "define-properties": "^1.1.3",
- "es-abstract": "^1.18.0-next.1"
+ "call-bind": "^1.0.0",
+ "define-properties": "^1.1.3"
}
},
"object-keys": {
@@ -5840,46 +6368,26 @@
}
},
"object.assign": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.1.tgz",
- "integrity": "sha512-VT/cxmx5yaoHSOTSyrCygIDFco+RsibY2NM0a4RdEeY/4KgqezwFtK1yr3U67xYhqJSlASm2pKhLVzPj2lr4bA==",
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz",
+ "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==",
"dev": true,
"requires": {
+ "call-bind": "^1.0.0",
"define-properties": "^1.1.3",
- "es-abstract": "^1.18.0-next.0",
"has-symbols": "^1.0.1",
"object-keys": "^1.1.1"
}
},
"object.getownpropertydescriptors": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.0.tgz",
- "integrity": "sha512-Z53Oah9A3TdLoblT7VKJaTDdXdT+lQO+cNpKVnya5JDe9uLvzu1YyY1yFDFrcxrlRgWrEFH0jJtD/IbuwjcEVg==",
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.1.tgz",
+ "integrity": "sha512-6DtXgZ/lIZ9hqx4GtZETobXLR/ZLaa0aqV0kzbn80Rf8Z2e/XFnhA0I7p07N2wH8bBBltr2xQPi6sbKWAY2Eng==",
"dev": true,
"requires": {
+ "call-bind": "^1.0.0",
"define-properties": "^1.1.3",
- "es-abstract": "^1.17.0-next.1"
- },
- "dependencies": {
- "es-abstract": {
- "version": "1.17.7",
- "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.7.tgz",
- "integrity": "sha512-VBl/gnfcJ7OercKA9MVaegWsBHFjV492syMudcnQZvt/Dw8ezpcOHYZXa/J96O8vx+g4x65YKhxOwDUh63aS5g==",
- "dev": true,
- "requires": {
- "es-to-primitive": "^1.2.1",
- "function-bind": "^1.1.1",
- "has": "^1.0.3",
- "has-symbols": "^1.0.1",
- "is-callable": "^1.2.2",
- "is-regex": "^1.1.1",
- "object-inspect": "^1.8.0",
- "object-keys": "^1.1.1",
- "object.assign": "^4.1.1",
- "string.prototype.trimend": "^1.0.1",
- "string.prototype.trimstart": "^1.0.1"
- }
- }
+ "es-abstract": "^1.18.0-next.1"
}
},
"object.omit": {
@@ -5901,36 +6409,15 @@
}
},
"object.values": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.1.tgz",
- "integrity": "sha512-WTa54g2K8iu0kmS/us18jEmdv1a4Wi//BZ/DTVYEcH0XhLM5NYdpDHja3gt57VrZLcNAO2WGA+KpWsDBaHt6eA==",
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.2.tgz",
+ "integrity": "sha512-MYC0jvJopr8EK6dPBiO8Nb9mvjdypOachO5REGk6MXzujbBrAisKo3HmdEI6kZDL6fC31Mwee/5YbtMebixeag==",
"dev": true,
"requires": {
+ "call-bind": "^1.0.0",
"define-properties": "^1.1.3",
- "es-abstract": "^1.17.0-next.1",
- "function-bind": "^1.1.1",
+ "es-abstract": "^1.18.0-next.1",
"has": "^1.0.3"
- },
- "dependencies": {
- "es-abstract": {
- "version": "1.17.7",
- "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.7.tgz",
- "integrity": "sha512-VBl/gnfcJ7OercKA9MVaegWsBHFjV492syMudcnQZvt/Dw8ezpcOHYZXa/J96O8vx+g4x65YKhxOwDUh63aS5g==",
- "dev": true,
- "requires": {
- "es-to-primitive": "^1.2.1",
- "function-bind": "^1.1.1",
- "has": "^1.0.3",
- "has-symbols": "^1.0.1",
- "is-callable": "^1.2.2",
- "is-regex": "^1.1.1",
- "object-inspect": "^1.8.0",
- "object-keys": "^1.1.1",
- "object.assign": "^4.1.1",
- "string.prototype.trimend": "^1.0.1",
- "string.prototype.trimstart": "^1.0.1"
- }
- }
}
},
"obuf": {
@@ -5963,23 +6450,23 @@
"wrappy": "1"
}
},
- "opn": {
- "version": "5.5.0",
- "resolved": "https://registry.npmjs.org/opn/-/opn-5.5.0.tgz",
- "integrity": "sha512-PqHpggC9bLV0VeWcdKhkpxY+3JTzetLSqTCWL/z/tFIbI6G8JCjondXklT1JinczLz2Xib62sSp0T/gKT4KksA==",
+ "onetime": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz",
+ "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==",
"dev": true,
"requires": {
- "is-wsl": "^1.1.0"
+ "mimic-fn": "^2.1.0"
}
},
- "optimize-css-assets-webpack-plugin": {
- "version": "5.0.4",
- "resolved": "https://registry.npmjs.org/optimize-css-assets-webpack-plugin/-/optimize-css-assets-webpack-plugin-5.0.4.tgz",
- "integrity": "sha512-wqd6FdI2a5/FdoiCNNkEvLeA//lHHfG24Ln2Xm2qqdIk4aOlsR18jwpyOihqQ8849W3qu2DX8fOYxpvTMj+93A==",
+ "open": {
+ "version": "7.3.0",
+ "resolved": "https://registry.npmjs.org/open/-/open-7.3.0.tgz",
+ "integrity": "sha512-mgLwQIx2F/ye9SmbrUkurZCnkoXyXyu9EbHtJZrICjVAJfyMArdHp3KkixGdZx1ZHFPNIwl0DDM1dFFqXbTLZw==",
"dev": true,
"requires": {
- "cssnano": "^4.1.10",
- "last-call-webpack-plugin": "^3.0.0"
+ "is-docker": "^2.0.0",
+ "is-wsl": "^2.1.1"
}
},
"original": {
@@ -5997,6 +6484,21 @@
"integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=",
"dev": true
},
+ "p-defer": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-1.0.0.tgz",
+ "integrity": "sha1-n26xgvbJqozXQwBKfU+WsZaw+ww=",
+ "dev": true
+ },
+ "p-event": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/p-event/-/p-event-4.2.0.tgz",
+ "integrity": "sha512-KXatOjCRXXkSePPb1Nbi0p0m+gQAwdlbhi4wQKJPI1HsMQS9g+Sqp2o+QHziPr7eYJyOZet836KoHEVM1mwOrQ==",
+ "dev": true,
+ "requires": {
+ "p-timeout": "^3.1.0"
+ }
+ },
"p-finally": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz",
@@ -6013,38 +6515,48 @@
}
},
"p-locate": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz",
- "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==",
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
+ "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
"dev": true,
"requires": {
- "p-limit": "^2.0.0"
+ "p-limit": "^2.2.0"
}
},
"p-map": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/p-map/-/p-map-3.0.0.tgz",
- "integrity": "sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==",
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz",
+ "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==",
"dev": true,
"requires": {
"aggregate-error": "^3.0.0"
}
},
"p-pipe": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/p-pipe/-/p-pipe-1.2.0.tgz",
- "integrity": "sha1-SxoROZoRUgpneQ7loMHViB1r7+k=",
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/p-pipe/-/p-pipe-3.1.0.tgz",
+ "integrity": "sha512-08pj8ATpzMR0Y80x50yJHn37NF6vjrqHutASaX5LiH5npS9XPvrUmscd9MF5R4fuYRHOxQR1FfMIlF7AzwoPqw==",
"dev": true
},
"p-retry": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-3.0.1.tgz",
- "integrity": "sha512-XE6G4+YTTkT2a0UWb2kjZe8xNwf8bIbnqpc/IS/idOBVhyves0mK5OJgeocjx7q5pvX/6m23xuzVPYT1uGM73w==",
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-4.2.0.tgz",
+ "integrity": "sha512-jPH38/MRh263KKcq0wBNOGFJbm+U6784RilTmHjB/HM9kH9V8WlCpVUcdOmip9cjXOh6MxZ5yk1z2SjDUJfWmA==",
"dev": true,
"requires": {
+ "@types/retry": "^0.12.0",
"retry": "^0.12.0"
}
},
+ "p-timeout": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-3.2.0.tgz",
+ "integrity": "sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg==",
+ "dev": true,
+ "requires": {
+ "p-finally": "^1.0.0"
+ }
+ },
"p-try": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
@@ -6057,24 +6569,31 @@
"integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==",
"dev": true
},
- "parallel-transform": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.2.0.tgz",
- "integrity": "sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==",
+ "param-case": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz",
+ "integrity": "sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==",
"dev": true,
"requires": {
- "cyclist": "^1.0.1",
- "inherits": "^2.0.3",
- "readable-stream": "^2.1.5"
+ "dot-case": "^3.0.4",
+ "tslib": "^2.0.3"
}
},
- "param-case": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/param-case/-/param-case-2.1.1.tgz",
- "integrity": "sha1-35T9jPZTHs915r75oIWPvHK+Ikc=",
+ "parent-module": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
+ "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==",
"dev": true,
"requires": {
- "no-case": "^2.2.0"
+ "callsites": "^3.0.0"
+ },
+ "dependencies": {
+ "callsites": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
+ "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
+ "dev": true
+ }
}
},
"parse-asn1": {
@@ -6100,18 +6619,22 @@
"json-parse-better-errors": "^1.0.1"
}
},
- "parse-passwd": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz",
- "integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=",
- "dev": true
- },
"parseurl": {
"version": "1.3.3",
"resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz",
"integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==",
"dev": true
},
+ "pascal-case": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz",
+ "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==",
+ "dev": true,
+ "requires": {
+ "no-case": "^3.0.4",
+ "tslib": "^2.0.3"
+ }
+ },
"pascalcase": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz",
@@ -6131,9 +6654,9 @@
"dev": true
},
"path-exists": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz",
- "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=",
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
+ "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
"dev": true
},
"path-is-absolute": {
@@ -6142,12 +6665,6 @@
"integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
"dev": true
},
- "path-is-inside": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz",
- "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=",
- "dev": true
- },
"path-key": {
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
@@ -6167,21 +6684,10 @@
"dev": true
},
"path-type": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz",
- "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==",
- "dev": true,
- "requires": {
- "pify": "^3.0.0"
- },
- "dependencies": {
- "pify": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
- "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=",
- "dev": true
- }
- }
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz",
+ "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==",
+ "dev": true
},
"pbkdf2": {
"version": "3.1.1",
@@ -6200,45 +6706,17 @@
"version": "2.2.2",
"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz",
"integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==",
- "dev": true,
- "optional": true
- },
- "pify": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz",
- "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==",
- "dev": true
- },
- "pinkie": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz",
- "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=",
"dev": true
},
- "pinkie-promise": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz",
- "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=",
- "dev": true,
- "requires": {
- "pinkie": "^2.0.0"
- }
- },
"pkg-dir": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz",
- "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==",
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz",
+ "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==",
"dev": true,
"requires": {
- "find-up": "^3.0.0"
+ "find-up": "^4.0.0"
}
},
- "popper.js": {
- "version": "1.16.1",
- "resolved": "https://registry.npmjs.org/popper.js/-/popper.js-1.16.1.tgz",
- "integrity": "sha512-Wb4p1J4zyFTbM+u6WuO4XstYx4Ky9Cewe4DWrel7B0w6VVICvPwdOpotjzcf6eD8TsckVnIMNONQyPIUFOUbCQ==",
- "dev": true
- },
"portfinder": {
"version": "1.0.28",
"resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.28.tgz",
@@ -6251,9 +6729,9 @@
},
"dependencies": {
"debug": {
- "version": "3.2.6",
- "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz",
- "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==",
+ "version": "3.2.7",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
+ "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
"dev": true,
"requires": {
"ms": "^2.1.1"
@@ -6268,14 +6746,14 @@
"dev": true
},
"postcss": {
- "version": "7.0.35",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz",
- "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==",
+ "version": "8.2.1",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.2.1.tgz",
+ "integrity": "sha512-RhsqOOAQzTgh1UB/IZdca7F9WDb7SUCR2Vnv1x7DbvuuggQIpoDwjK+q0rzoPffhYvWNKX5JSwS4so4K3UC6vA==",
"dev": true,
"requires": {
- "chalk": "^2.4.2",
- "source-map": "^0.6.1",
- "supports-color": "^6.1.0"
+ "colorette": "^1.2.1",
+ "nanoid": "^3.1.20",
+ "source-map": "^0.6.1"
},
"dependencies": {
"source-map": {
@@ -6283,15 +6761,6 @@
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
"dev": true
- },
- "supports-color": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz",
- "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==",
- "dev": true,
- "requires": {
- "has-flag": "^3.0.0"
- }
}
}
},
@@ -6304,6 +6773,56 @@
"postcss": "^7.0.27",
"postcss-selector-parser": "^6.0.2",
"postcss-value-parser": "^4.0.2"
+ },
+ "dependencies": {
+ "chalk": {
+ "version": "2.4.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
+ "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^3.2.1",
+ "escape-string-regexp": "^1.0.5",
+ "supports-color": "^5.3.0"
+ },
+ "dependencies": {
+ "supports-color": {
+ "version": "5.5.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
+ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^3.0.0"
+ }
+ }
+ }
+ },
+ "postcss": {
+ "version": "7.0.35",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz",
+ "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==",
+ "dev": true,
+ "requires": {
+ "chalk": "^2.4.2",
+ "source-map": "^0.6.1",
+ "supports-color": "^6.1.0"
+ }
+ },
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz",
+ "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^3.0.0"
+ }
+ }
}
},
"postcss-colormin": {
@@ -6319,11 +6838,59 @@
"postcss-value-parser": "^3.0.0"
},
"dependencies": {
+ "chalk": {
+ "version": "2.4.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
+ "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^3.2.1",
+ "escape-string-regexp": "^1.0.5",
+ "supports-color": "^5.3.0"
+ },
+ "dependencies": {
+ "supports-color": {
+ "version": "5.5.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
+ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^3.0.0"
+ }
+ }
+ }
+ },
+ "postcss": {
+ "version": "7.0.35",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz",
+ "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==",
+ "dev": true,
+ "requires": {
+ "chalk": "^2.4.2",
+ "source-map": "^0.6.1",
+ "supports-color": "^6.1.0"
+ }
+ },
"postcss-value-parser": {
"version": "3.3.1",
"resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
"integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==",
"dev": true
+ },
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz",
+ "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^3.0.0"
+ }
}
}
},
@@ -6337,11 +6904,59 @@
"postcss-value-parser": "^3.0.0"
},
"dependencies": {
+ "chalk": {
+ "version": "2.4.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
+ "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^3.2.1",
+ "escape-string-regexp": "^1.0.5",
+ "supports-color": "^5.3.0"
+ },
+ "dependencies": {
+ "supports-color": {
+ "version": "5.5.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
+ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^3.0.0"
+ }
+ }
+ }
+ },
+ "postcss": {
+ "version": "7.0.35",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz",
+ "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==",
+ "dev": true,
+ "requires": {
+ "chalk": "^2.4.2",
+ "source-map": "^0.6.1",
+ "supports-color": "^6.1.0"
+ }
+ },
"postcss-value-parser": {
"version": "3.3.1",
"resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
"integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==",
"dev": true
+ },
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz",
+ "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^3.0.0"
+ }
}
}
},
@@ -6352,25 +6967,175 @@
"dev": true,
"requires": {
"postcss": "^7.0.0"
- }
- },
- "postcss-discard-duplicates": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-4.0.2.tgz",
- "integrity": "sha512-ZNQfR1gPNAiXZhgENFfEglF93pciw0WxMkJeVmw8eF+JZBbMD7jp6C67GqJAXVZP2BWbOztKfbsdmMp/k8c6oQ==",
- "dev": true,
- "requires": {
- "postcss": "^7.0.0"
- }
- },
- "postcss-discard-empty": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-4.0.1.tgz",
- "integrity": "sha512-B9miTzbznhDjTfjvipfHoqbWKwd0Mj+/fL5s1QOz06wufguil+Xheo4XpOnc4NqKYBCNqqEzgPv2aPBIJLox0w==",
- "dev": true,
- "requires": {
- "postcss": "^7.0.0"
- }
+ },
+ "dependencies": {
+ "chalk": {
+ "version": "2.4.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
+ "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^3.2.1",
+ "escape-string-regexp": "^1.0.5",
+ "supports-color": "^5.3.0"
+ },
+ "dependencies": {
+ "supports-color": {
+ "version": "5.5.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
+ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^3.0.0"
+ }
+ }
+ }
+ },
+ "postcss": {
+ "version": "7.0.35",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz",
+ "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==",
+ "dev": true,
+ "requires": {
+ "chalk": "^2.4.2",
+ "source-map": "^0.6.1",
+ "supports-color": "^6.1.0"
+ }
+ },
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz",
+ "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^3.0.0"
+ }
+ }
+ }
+ },
+ "postcss-discard-duplicates": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-4.0.2.tgz",
+ "integrity": "sha512-ZNQfR1gPNAiXZhgENFfEglF93pciw0WxMkJeVmw8eF+JZBbMD7jp6C67GqJAXVZP2BWbOztKfbsdmMp/k8c6oQ==",
+ "dev": true,
+ "requires": {
+ "postcss": "^7.0.0"
+ },
+ "dependencies": {
+ "chalk": {
+ "version": "2.4.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
+ "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^3.2.1",
+ "escape-string-regexp": "^1.0.5",
+ "supports-color": "^5.3.0"
+ },
+ "dependencies": {
+ "supports-color": {
+ "version": "5.5.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
+ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^3.0.0"
+ }
+ }
+ }
+ },
+ "postcss": {
+ "version": "7.0.35",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz",
+ "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==",
+ "dev": true,
+ "requires": {
+ "chalk": "^2.4.2",
+ "source-map": "^0.6.1",
+ "supports-color": "^6.1.0"
+ }
+ },
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz",
+ "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^3.0.0"
+ }
+ }
+ }
+ },
+ "postcss-discard-empty": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-4.0.1.tgz",
+ "integrity": "sha512-B9miTzbznhDjTfjvipfHoqbWKwd0Mj+/fL5s1QOz06wufguil+Xheo4XpOnc4NqKYBCNqqEzgPv2aPBIJLox0w==",
+ "dev": true,
+ "requires": {
+ "postcss": "^7.0.0"
+ },
+ "dependencies": {
+ "chalk": {
+ "version": "2.4.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
+ "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^3.2.1",
+ "escape-string-regexp": "^1.0.5",
+ "supports-color": "^5.3.0"
+ },
+ "dependencies": {
+ "supports-color": {
+ "version": "5.5.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
+ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^3.0.0"
+ }
+ }
+ }
+ },
+ "postcss": {
+ "version": "7.0.35",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz",
+ "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==",
+ "dev": true,
+ "requires": {
+ "chalk": "^2.4.2",
+ "source-map": "^0.6.1",
+ "supports-color": "^6.1.0"
+ }
+ },
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz",
+ "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^3.0.0"
+ }
+ }
+ }
},
"postcss-discard-overridden": {
"version": "4.0.1",
@@ -6379,39 +7144,194 @@
"dev": true,
"requires": {
"postcss": "^7.0.0"
+ },
+ "dependencies": {
+ "chalk": {
+ "version": "2.4.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
+ "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^3.2.1",
+ "escape-string-regexp": "^1.0.5",
+ "supports-color": "^5.3.0"
+ },
+ "dependencies": {
+ "supports-color": {
+ "version": "5.5.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
+ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^3.0.0"
+ }
+ }
+ }
+ },
+ "postcss": {
+ "version": "7.0.35",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz",
+ "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==",
+ "dev": true,
+ "requires": {
+ "chalk": "^2.4.2",
+ "source-map": "^0.6.1",
+ "supports-color": "^6.1.0"
+ }
+ },
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz",
+ "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^3.0.0"
+ }
+ }
}
},
"postcss-load-config": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-2.1.2.tgz",
- "integrity": "sha512-/rDeGV6vMUo3mwJZmeHfEDvwnTKKqQ0S7OHUi/kJvvtx3aWtyWG2/0ZWnzCt2keEclwN6Tf0DST2v9kITdOKYw==",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-3.0.0.tgz",
+ "integrity": "sha512-lErrN8imuEF1cSiHBV8MiR7HeuzlDpCGNtaMyYHlOBuJHHOGw6S4xOMZp8BbXPr7AGQp14L6PZDlIOpfFJ6f7w==",
"dev": true,
"requires": {
- "cosmiconfig": "^5.0.0",
- "import-cwd": "^2.0.0"
+ "cosmiconfig": "^7.0.0",
+ "import-cwd": "^3.0.0"
+ },
+ "dependencies": {
+ "cosmiconfig": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.0.tgz",
+ "integrity": "sha512-pondGvTuVYDk++upghXJabWzL6Kxu6f26ljFw64Swq9v6sQPUL3EUlVDV56diOjpCayKihL6hVe8exIACU4XcA==",
+ "dev": true,
+ "requires": {
+ "@types/parse-json": "^4.0.0",
+ "import-fresh": "^3.2.1",
+ "parse-json": "^5.0.0",
+ "path-type": "^4.0.0",
+ "yaml": "^1.10.0"
+ }
+ },
+ "import-fresh": {
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz",
+ "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==",
+ "dev": true,
+ "requires": {
+ "parent-module": "^1.0.0",
+ "resolve-from": "^4.0.0"
+ }
+ },
+ "parse-json": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.1.0.tgz",
+ "integrity": "sha512-+mi/lmVVNKFNVyLXV31ERiy2CY5E1/F6QtJFEzoChPRwwngMNXRDQ9GJ5WdE2Z2P4AujsOi0/+2qHID68KwfIQ==",
+ "dev": true,
+ "requires": {
+ "@babel/code-frame": "^7.0.0",
+ "error-ex": "^1.3.1",
+ "json-parse-even-better-errors": "^2.3.0",
+ "lines-and-columns": "^1.1.6"
+ }
+ },
+ "resolve-from": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
+ "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==",
+ "dev": true
+ }
}
},
"postcss-loader": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-3.0.0.tgz",
- "integrity": "sha512-cLWoDEY5OwHcAjDnkyRQzAXfs2jrKjXpO/HQFcc5b5u/r7aa471wdmChmwfnv7x2u840iat/wi0lQ5nbRgSkUA==",
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-4.1.0.tgz",
+ "integrity": "sha512-vbCkP70F3Q9PIk6d47aBwjqAMI4LfkXCoyxj+7NPNuVIwfTGdzv2KVQes59/RuxMniIgsYQCFSY42P3+ykJfaw==",
"dev": true,
"requires": {
- "loader-utils": "^1.1.0",
- "postcss": "^7.0.0",
- "postcss-load-config": "^2.0.0",
- "schema-utils": "^1.0.0"
+ "cosmiconfig": "^7.0.0",
+ "klona": "^2.0.4",
+ "loader-utils": "^2.0.0",
+ "schema-utils": "^3.0.0",
+ "semver": "^7.3.2"
},
"dependencies": {
+ "cosmiconfig": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.0.tgz",
+ "integrity": "sha512-pondGvTuVYDk++upghXJabWzL6Kxu6f26ljFw64Swq9v6sQPUL3EUlVDV56diOjpCayKihL6hVe8exIACU4XcA==",
+ "dev": true,
+ "requires": {
+ "@types/parse-json": "^4.0.0",
+ "import-fresh": "^3.2.1",
+ "parse-json": "^5.0.0",
+ "path-type": "^4.0.0",
+ "yaml": "^1.10.0"
+ }
+ },
+ "import-fresh": {
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz",
+ "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==",
+ "dev": true,
+ "requires": {
+ "parent-module": "^1.0.0",
+ "resolve-from": "^4.0.0"
+ }
+ },
+ "loader-utils": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz",
+ "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==",
+ "dev": true,
+ "requires": {
+ "big.js": "^5.2.2",
+ "emojis-list": "^3.0.0",
+ "json5": "^2.1.2"
+ }
+ },
+ "parse-json": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.1.0.tgz",
+ "integrity": "sha512-+mi/lmVVNKFNVyLXV31ERiy2CY5E1/F6QtJFEzoChPRwwngMNXRDQ9GJ5WdE2Z2P4AujsOi0/+2qHID68KwfIQ==",
+ "dev": true,
+ "requires": {
+ "@babel/code-frame": "^7.0.0",
+ "error-ex": "^1.3.1",
+ "json-parse-even-better-errors": "^2.3.0",
+ "lines-and-columns": "^1.1.6"
+ }
+ },
+ "resolve-from": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
+ "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==",
+ "dev": true
+ },
"schema-utils": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz",
- "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz",
+ "integrity": "sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA==",
"dev": true,
"requires": {
- "ajv": "^6.1.0",
- "ajv-errors": "^1.0.0",
- "ajv-keywords": "^3.1.0"
+ "@types/json-schema": "^7.0.6",
+ "ajv": "^6.12.5",
+ "ajv-keywords": "^3.5.2"
+ }
+ },
+ "semver": {
+ "version": "7.3.4",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz",
+ "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==",
+ "dev": true,
+ "requires": {
+ "lru-cache": "^6.0.0"
}
}
}
@@ -6428,11 +7348,59 @@
"stylehacks": "^4.0.0"
},
"dependencies": {
+ "chalk": {
+ "version": "2.4.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
+ "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^3.2.1",
+ "escape-string-regexp": "^1.0.5",
+ "supports-color": "^5.3.0"
+ },
+ "dependencies": {
+ "supports-color": {
+ "version": "5.5.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
+ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^3.0.0"
+ }
+ }
+ }
+ },
+ "postcss": {
+ "version": "7.0.35",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz",
+ "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==",
+ "dev": true,
+ "requires": {
+ "chalk": "^2.4.2",
+ "source-map": "^0.6.1",
+ "supports-color": "^6.1.0"
+ }
+ },
"postcss-value-parser": {
"version": "3.3.1",
"resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
"integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==",
"dev": true
+ },
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz",
+ "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^3.0.0"
+ }
}
}
},
@@ -6450,6 +7418,39 @@
"vendors": "^1.0.0"
},
"dependencies": {
+ "chalk": {
+ "version": "2.4.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
+ "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^3.2.1",
+ "escape-string-regexp": "^1.0.5",
+ "supports-color": "^5.3.0"
+ },
+ "dependencies": {
+ "supports-color": {
+ "version": "5.5.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
+ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^3.0.0"
+ }
+ }
+ }
+ },
+ "postcss": {
+ "version": "7.0.35",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz",
+ "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==",
+ "dev": true,
+ "requires": {
+ "chalk": "^2.4.2",
+ "source-map": "^0.6.1",
+ "supports-color": "^6.1.0"
+ }
+ },
"postcss-selector-parser": {
"version": "3.1.2",
"resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz",
@@ -6460,6 +7461,21 @@
"indexes-of": "^1.0.1",
"uniq": "^1.0.1"
}
+ },
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz",
+ "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^3.0.0"
+ }
}
}
},
@@ -6473,11 +7489,59 @@
"postcss-value-parser": "^3.0.0"
},
"dependencies": {
+ "chalk": {
+ "version": "2.4.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
+ "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^3.2.1",
+ "escape-string-regexp": "^1.0.5",
+ "supports-color": "^5.3.0"
+ },
+ "dependencies": {
+ "supports-color": {
+ "version": "5.5.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
+ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^3.0.0"
+ }
+ }
+ }
+ },
+ "postcss": {
+ "version": "7.0.35",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz",
+ "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==",
+ "dev": true,
+ "requires": {
+ "chalk": "^2.4.2",
+ "source-map": "^0.6.1",
+ "supports-color": "^6.1.0"
+ }
+ },
"postcss-value-parser": {
"version": "3.3.1",
"resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
"integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==",
"dev": true
+ },
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz",
+ "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^3.0.0"
+ }
}
}
},
@@ -6493,11 +7557,59 @@
"postcss-value-parser": "^3.0.0"
},
"dependencies": {
+ "chalk": {
+ "version": "2.4.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
+ "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^3.2.1",
+ "escape-string-regexp": "^1.0.5",
+ "supports-color": "^5.3.0"
+ },
+ "dependencies": {
+ "supports-color": {
+ "version": "5.5.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
+ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^3.0.0"
+ }
+ }
+ }
+ },
+ "postcss": {
+ "version": "7.0.35",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz",
+ "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==",
+ "dev": true,
+ "requires": {
+ "chalk": "^2.4.2",
+ "source-map": "^0.6.1",
+ "supports-color": "^6.1.0"
+ }
+ },
"postcss-value-parser": {
"version": "3.3.1",
"resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
"integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==",
"dev": true
+ },
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz",
+ "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^3.0.0"
+ }
}
}
},
@@ -6515,11 +7627,59 @@
"uniqs": "^2.0.0"
},
"dependencies": {
+ "chalk": {
+ "version": "2.4.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
+ "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^3.2.1",
+ "escape-string-regexp": "^1.0.5",
+ "supports-color": "^5.3.0"
+ },
+ "dependencies": {
+ "supports-color": {
+ "version": "5.5.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
+ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^3.0.0"
+ }
+ }
+ }
+ },
+ "postcss": {
+ "version": "7.0.35",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz",
+ "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==",
+ "dev": true,
+ "requires": {
+ "chalk": "^2.4.2",
+ "source-map": "^0.6.1",
+ "supports-color": "^6.1.0"
+ }
+ },
"postcss-value-parser": {
"version": "3.3.1",
"resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
"integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==",
"dev": true
+ },
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz",
+ "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^3.0.0"
+ }
}
}
},
@@ -6535,6 +7695,39 @@
"postcss-selector-parser": "^3.0.0"
},
"dependencies": {
+ "chalk": {
+ "version": "2.4.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
+ "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^3.2.1",
+ "escape-string-regexp": "^1.0.5",
+ "supports-color": "^5.3.0"
+ },
+ "dependencies": {
+ "supports-color": {
+ "version": "5.5.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
+ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^3.0.0"
+ }
+ }
+ }
+ },
+ "postcss": {
+ "version": "7.0.35",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz",
+ "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==",
+ "dev": true,
+ "requires": {
+ "chalk": "^2.4.2",
+ "source-map": "^0.6.1",
+ "supports-color": "^6.1.0"
+ }
+ },
"postcss-selector-parser": {
"version": "3.1.2",
"resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz",
@@ -6545,114 +7738,99 @@
"indexes-of": "^1.0.1",
"uniq": "^1.0.1"
}
- }
- }
- },
- "postcss-modules-extract-imports": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-1.2.1.tgz",
- "integrity": "sha512-6jt9XZwUhwmRUhb/CkyJY020PYaPJsCyt3UjbaWo6XEbH/94Hmv6MP7fG2C5NDU/BcHzyGYxNtHvM+LTf9HrYw==",
- "dev": true,
- "requires": {
- "postcss": "^6.0.1"
- },
- "dependencies": {
- "postcss": {
- "version": "6.0.23",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz",
- "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==",
- "dev": true,
- "requires": {
- "chalk": "^2.4.1",
- "source-map": "^0.6.1",
- "supports-color": "^5.4.0"
- }
},
"source-map": {
"version": "0.6.1",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
"dev": true
+ },
+ "supports-color": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz",
+ "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^3.0.0"
+ }
}
}
},
+ "postcss-modules-extract-imports": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz",
+ "integrity": "sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==",
+ "dev": true
+ },
"postcss-modules-local-by-default": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-1.2.0.tgz",
- "integrity": "sha1-99gMOYxaOT+nlkRmvRlQCn1hwGk=",
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.0.tgz",
+ "integrity": "sha512-sT7ihtmGSF9yhm6ggikHdV0hlziDTX7oFoXtuVWeDd3hHObNkcHRo9V3yg7vCAY7cONyxJC/XXCmmiHHcvX7bQ==",
"dev": true,
"requires": {
- "css-selector-tokenizer": "^0.7.0",
- "postcss": "^6.0.1"
- },
- "dependencies": {
- "postcss": {
- "version": "6.0.23",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz",
- "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==",
- "dev": true,
- "requires": {
- "chalk": "^2.4.1",
- "source-map": "^0.6.1",
- "supports-color": "^5.4.0"
- }
- },
- "source-map": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
- "dev": true
- }
+ "icss-utils": "^5.0.0",
+ "postcss-selector-parser": "^6.0.2",
+ "postcss-value-parser": "^4.1.0"
}
},
"postcss-modules-scope": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-1.1.0.tgz",
- "integrity": "sha1-1upkmUx5+XtipytCb75gVqGUu5A=",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz",
+ "integrity": "sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==",
"dev": true,
"requires": {
- "css-selector-tokenizer": "^0.7.0",
- "postcss": "^6.0.1"
- },
- "dependencies": {
- "postcss": {
- "version": "6.0.23",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz",
- "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==",
- "dev": true,
- "requires": {
- "chalk": "^2.4.1",
- "source-map": "^0.6.1",
- "supports-color": "^5.4.0"
- }
- },
- "source-map": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
- "dev": true
- }
+ "postcss-selector-parser": "^6.0.4"
}
},
"postcss-modules-values": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-1.3.0.tgz",
- "integrity": "sha1-7P+p1+GSUYOJ9CrQ6D9yrsRW6iA=",
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz",
+ "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==",
+ "dev": true,
+ "requires": {
+ "icss-utils": "^5.0.0"
+ }
+ },
+ "postcss-normalize-charset": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-4.0.1.tgz",
+ "integrity": "sha512-gMXCrrlWh6G27U0hF3vNvR3w8I1s2wOBILvA87iNXaPvSNo5uZAMYsZG7XjCUf1eVxuPfyL4TJ7++SGZLc9A3g==",
"dev": true,
"requires": {
- "icss-replace-symbols": "^1.1.0",
- "postcss": "^6.0.1"
+ "postcss": "^7.0.0"
},
"dependencies": {
+ "chalk": {
+ "version": "2.4.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
+ "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^3.2.1",
+ "escape-string-regexp": "^1.0.5",
+ "supports-color": "^5.3.0"
+ },
+ "dependencies": {
+ "supports-color": {
+ "version": "5.5.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
+ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^3.0.0"
+ }
+ }
+ }
+ },
"postcss": {
- "version": "6.0.23",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz",
- "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==",
+ "version": "7.0.35",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz",
+ "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==",
"dev": true,
"requires": {
- "chalk": "^2.4.1",
+ "chalk": "^2.4.2",
"source-map": "^0.6.1",
- "supports-color": "^5.4.0"
+ "supports-color": "^6.1.0"
}
},
"source-map": {
@@ -6660,18 +7838,18 @@
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
"dev": true
+ },
+ "supports-color": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz",
+ "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^3.0.0"
+ }
}
}
},
- "postcss-normalize-charset": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-4.0.1.tgz",
- "integrity": "sha512-gMXCrrlWh6G27U0hF3vNvR3w8I1s2wOBILvA87iNXaPvSNo5uZAMYsZG7XjCUf1eVxuPfyL4TJ7++SGZLc9A3g==",
- "dev": true,
- "requires": {
- "postcss": "^7.0.0"
- }
- },
"postcss-normalize-display-values": {
"version": "4.0.2",
"resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-4.0.2.tgz",
@@ -6683,11 +7861,59 @@
"postcss-value-parser": "^3.0.0"
},
"dependencies": {
+ "chalk": {
+ "version": "2.4.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
+ "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^3.2.1",
+ "escape-string-regexp": "^1.0.5",
+ "supports-color": "^5.3.0"
+ },
+ "dependencies": {
+ "supports-color": {
+ "version": "5.5.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
+ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^3.0.0"
+ }
+ }
+ }
+ },
+ "postcss": {
+ "version": "7.0.35",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz",
+ "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==",
+ "dev": true,
+ "requires": {
+ "chalk": "^2.4.2",
+ "source-map": "^0.6.1",
+ "supports-color": "^6.1.0"
+ }
+ },
"postcss-value-parser": {
"version": "3.3.1",
"resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
"integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==",
"dev": true
+ },
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz",
+ "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^3.0.0"
+ }
}
}
},
@@ -6703,11 +7929,59 @@
"postcss-value-parser": "^3.0.0"
},
"dependencies": {
+ "chalk": {
+ "version": "2.4.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
+ "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^3.2.1",
+ "escape-string-regexp": "^1.0.5",
+ "supports-color": "^5.3.0"
+ },
+ "dependencies": {
+ "supports-color": {
+ "version": "5.5.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
+ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^3.0.0"
+ }
+ }
+ }
+ },
+ "postcss": {
+ "version": "7.0.35",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz",
+ "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==",
+ "dev": true,
+ "requires": {
+ "chalk": "^2.4.2",
+ "source-map": "^0.6.1",
+ "supports-color": "^6.1.0"
+ }
+ },
"postcss-value-parser": {
"version": "3.3.1",
"resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
"integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==",
"dev": true
+ },
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz",
+ "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^3.0.0"
+ }
}
}
},
@@ -6723,11 +7997,59 @@
"postcss-value-parser": "^3.0.0"
},
"dependencies": {
+ "chalk": {
+ "version": "2.4.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
+ "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^3.2.1",
+ "escape-string-regexp": "^1.0.5",
+ "supports-color": "^5.3.0"
+ },
+ "dependencies": {
+ "supports-color": {
+ "version": "5.5.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
+ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^3.0.0"
+ }
+ }
+ }
+ },
+ "postcss": {
+ "version": "7.0.35",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz",
+ "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==",
+ "dev": true,
+ "requires": {
+ "chalk": "^2.4.2",
+ "source-map": "^0.6.1",
+ "supports-color": "^6.1.0"
+ }
+ },
"postcss-value-parser": {
"version": "3.3.1",
"resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
"integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==",
"dev": true
+ },
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz",
+ "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^3.0.0"
+ }
}
}
},
@@ -6742,11 +8064,59 @@
"postcss-value-parser": "^3.0.0"
},
"dependencies": {
+ "chalk": {
+ "version": "2.4.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
+ "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^3.2.1",
+ "escape-string-regexp": "^1.0.5",
+ "supports-color": "^5.3.0"
+ },
+ "dependencies": {
+ "supports-color": {
+ "version": "5.5.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
+ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^3.0.0"
+ }
+ }
+ }
+ },
+ "postcss": {
+ "version": "7.0.35",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz",
+ "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==",
+ "dev": true,
+ "requires": {
+ "chalk": "^2.4.2",
+ "source-map": "^0.6.1",
+ "supports-color": "^6.1.0"
+ }
+ },
"postcss-value-parser": {
"version": "3.3.1",
"resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
"integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==",
"dev": true
+ },
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz",
+ "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^3.0.0"
+ }
}
}
},
@@ -6761,11 +8131,59 @@
"postcss-value-parser": "^3.0.0"
},
"dependencies": {
+ "chalk": {
+ "version": "2.4.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
+ "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^3.2.1",
+ "escape-string-regexp": "^1.0.5",
+ "supports-color": "^5.3.0"
+ },
+ "dependencies": {
+ "supports-color": {
+ "version": "5.5.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
+ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^3.0.0"
+ }
+ }
+ }
+ },
+ "postcss": {
+ "version": "7.0.35",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz",
+ "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==",
+ "dev": true,
+ "requires": {
+ "chalk": "^2.4.2",
+ "source-map": "^0.6.1",
+ "supports-color": "^6.1.0"
+ }
+ },
"postcss-value-parser": {
"version": "3.3.1",
"resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
"integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==",
"dev": true
+ },
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz",
+ "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^3.0.0"
+ }
}
}
},
@@ -6780,11 +8198,59 @@
"postcss-value-parser": "^3.0.0"
},
"dependencies": {
+ "chalk": {
+ "version": "2.4.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
+ "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^3.2.1",
+ "escape-string-regexp": "^1.0.5",
+ "supports-color": "^5.3.0"
+ },
+ "dependencies": {
+ "supports-color": {
+ "version": "5.5.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
+ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^3.0.0"
+ }
+ }
+ }
+ },
+ "postcss": {
+ "version": "7.0.35",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz",
+ "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==",
+ "dev": true,
+ "requires": {
+ "chalk": "^2.4.2",
+ "source-map": "^0.6.1",
+ "supports-color": "^6.1.0"
+ }
+ },
"postcss-value-parser": {
"version": "3.3.1",
"resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
"integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==",
"dev": true
+ },
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz",
+ "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^3.0.0"
+ }
}
}
},
@@ -6800,11 +8266,59 @@
"postcss-value-parser": "^3.0.0"
},
"dependencies": {
+ "chalk": {
+ "version": "2.4.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
+ "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^3.2.1",
+ "escape-string-regexp": "^1.0.5",
+ "supports-color": "^5.3.0"
+ },
+ "dependencies": {
+ "supports-color": {
+ "version": "5.5.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
+ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^3.0.0"
+ }
+ }
+ }
+ },
+ "postcss": {
+ "version": "7.0.35",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz",
+ "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==",
+ "dev": true,
+ "requires": {
+ "chalk": "^2.4.2",
+ "source-map": "^0.6.1",
+ "supports-color": "^6.1.0"
+ }
+ },
"postcss-value-parser": {
"version": "3.3.1",
"resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
"integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==",
"dev": true
+ },
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz",
+ "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^3.0.0"
+ }
}
}
},
@@ -6818,11 +8332,59 @@
"postcss-value-parser": "^3.0.0"
},
"dependencies": {
+ "chalk": {
+ "version": "2.4.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
+ "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^3.2.1",
+ "escape-string-regexp": "^1.0.5",
+ "supports-color": "^5.3.0"
+ },
+ "dependencies": {
+ "supports-color": {
+ "version": "5.5.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
+ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^3.0.0"
+ }
+ }
+ }
+ },
+ "postcss": {
+ "version": "7.0.35",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz",
+ "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==",
+ "dev": true,
+ "requires": {
+ "chalk": "^2.4.2",
+ "source-map": "^0.6.1",
+ "supports-color": "^6.1.0"
+ }
+ },
"postcss-value-parser": {
"version": "3.3.1",
"resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
"integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==",
"dev": true
+ },
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz",
+ "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^3.0.0"
+ }
}
}
},
@@ -6837,11 +8399,59 @@
"postcss-value-parser": "^3.0.0"
},
"dependencies": {
+ "chalk": {
+ "version": "2.4.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
+ "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^3.2.1",
+ "escape-string-regexp": "^1.0.5",
+ "supports-color": "^5.3.0"
+ },
+ "dependencies": {
+ "supports-color": {
+ "version": "5.5.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
+ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^3.0.0"
+ }
+ }
+ }
+ },
+ "postcss": {
+ "version": "7.0.35",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz",
+ "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==",
+ "dev": true,
+ "requires": {
+ "chalk": "^2.4.2",
+ "source-map": "^0.6.1",
+ "supports-color": "^6.1.0"
+ }
+ },
"postcss-value-parser": {
"version": "3.3.1",
"resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
"integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==",
"dev": true
+ },
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz",
+ "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^3.0.0"
+ }
}
}
},
@@ -6855,6 +8465,56 @@
"caniuse-api": "^3.0.0",
"has": "^1.0.0",
"postcss": "^7.0.0"
+ },
+ "dependencies": {
+ "chalk": {
+ "version": "2.4.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
+ "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^3.2.1",
+ "escape-string-regexp": "^1.0.5",
+ "supports-color": "^5.3.0"
+ },
+ "dependencies": {
+ "supports-color": {
+ "version": "5.5.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
+ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^3.0.0"
+ }
+ }
+ }
+ },
+ "postcss": {
+ "version": "7.0.35",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz",
+ "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==",
+ "dev": true,
+ "requires": {
+ "chalk": "^2.4.2",
+ "source-map": "^0.6.1",
+ "supports-color": "^6.1.0"
+ }
+ },
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz",
+ "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^3.0.0"
+ }
+ }
}
},
"postcss-reduce-transforms": {
@@ -6869,11 +8529,59 @@
"postcss-value-parser": "^3.0.0"
},
"dependencies": {
+ "chalk": {
+ "version": "2.4.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
+ "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^3.2.1",
+ "escape-string-regexp": "^1.0.5",
+ "supports-color": "^5.3.0"
+ },
+ "dependencies": {
+ "supports-color": {
+ "version": "5.5.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
+ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^3.0.0"
+ }
+ }
+ }
+ },
+ "postcss": {
+ "version": "7.0.35",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz",
+ "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==",
+ "dev": true,
+ "requires": {
+ "chalk": "^2.4.2",
+ "source-map": "^0.6.1",
+ "supports-color": "^6.1.0"
+ }
+ },
"postcss-value-parser": {
"version": "3.3.1",
"resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
"integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==",
"dev": true
+ },
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz",
+ "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^3.0.0"
+ }
}
}
},
@@ -6901,11 +8609,59 @@
"svgo": "^1.0.0"
},
"dependencies": {
+ "chalk": {
+ "version": "2.4.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
+ "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^3.2.1",
+ "escape-string-regexp": "^1.0.5",
+ "supports-color": "^5.3.0"
+ },
+ "dependencies": {
+ "supports-color": {
+ "version": "5.5.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
+ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^3.0.0"
+ }
+ }
+ }
+ },
+ "postcss": {
+ "version": "7.0.35",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz",
+ "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==",
+ "dev": true,
+ "requires": {
+ "chalk": "^2.4.2",
+ "source-map": "^0.6.1",
+ "supports-color": "^6.1.0"
+ }
+ },
"postcss-value-parser": {
"version": "3.3.1",
"resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
"integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==",
"dev": true
+ },
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz",
+ "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^3.0.0"
+ }
}
}
},
@@ -6918,6 +8674,56 @@
"alphanum-sort": "^1.0.0",
"postcss": "^7.0.0",
"uniqs": "^2.0.0"
+ },
+ "dependencies": {
+ "chalk": {
+ "version": "2.4.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
+ "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^3.2.1",
+ "escape-string-regexp": "^1.0.5",
+ "supports-color": "^5.3.0"
+ },
+ "dependencies": {
+ "supports-color": {
+ "version": "5.5.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
+ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^3.0.0"
+ }
+ }
+ }
+ },
+ "postcss": {
+ "version": "7.0.35",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz",
+ "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==",
+ "dev": true,
+ "requires": {
+ "chalk": "^2.4.2",
+ "source-map": "^0.6.1",
+ "supports-color": "^6.1.0"
+ }
+ },
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz",
+ "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^3.0.0"
+ }
+ }
}
},
"postcss-value-parser": {
@@ -6926,19 +8732,6 @@
"integrity": "sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==",
"dev": true
},
- "prettier": {
- "version": "1.19.1",
- "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.19.1.tgz",
- "integrity": "sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew==",
- "dev": true,
- "optional": true
- },
- "private": {
- "version": "0.1.8",
- "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz",
- "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==",
- "dev": true
- },
"process": {
"version": "0.11.10",
"resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz",
@@ -6951,12 +8744,6 @@
"integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==",
"dev": true
},
- "promise-inflight": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz",
- "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=",
- "dev": true
- },
"proxy-addr": {
"version": "2.0.6",
"resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.6.tgz",
@@ -6967,18 +8754,6 @@
"ipaddr.js": "1.9.1"
}
},
- "prr": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz",
- "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=",
- "dev": true
- },
- "pseudomap": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz",
- "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=",
- "dev": true
- },
"public-encrypt": {
"version": "4.0.3",
"resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz",
@@ -7011,29 +8786,6 @@
"once": "^1.3.1"
}
},
- "pumpify": {
- "version": "1.5.1",
- "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz",
- "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==",
- "dev": true,
- "requires": {
- "duplexify": "^3.6.0",
- "inherits": "^2.0.3",
- "pump": "^2.0.0"
- },
- "dependencies": {
- "pump": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz",
- "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==",
- "dev": true,
- "requires": {
- "end-of-stream": "^1.1.0",
- "once": "^1.3.1"
- }
- }
- }
- },
"punycode": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
@@ -7141,22 +8893,19 @@
"readable-stream": "^2.0.2"
}
},
- "recast": {
- "version": "0.11.23",
- "resolved": "https://registry.npmjs.org/recast/-/recast-0.11.23.tgz",
- "integrity": "sha1-RR/TAEqx5N+bTktmN2sqIZEkYtM=",
+ "rechoir": {
+ "version": "0.7.0",
+ "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.7.0.tgz",
+ "integrity": "sha512-ADsDEH2bvbjltXEP+hTIAmeFekTFK0V2BTxMkok6qILyAJEXV0AFfoWcAq4yfll5VdIMd/RVXq0lR+wQi5ZU3Q==",
"dev": true,
"requires": {
- "ast-types": "0.9.6",
- "esprima": "~3.1.0",
- "private": "~0.1.5",
- "source-map": "~0.5.0"
+ "resolve": "^1.9.0"
}
},
"regenerate": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.1.tgz",
- "integrity": "sha512-j2+C8+NtXQgEKWk49MMP5P/u2GhnahTtVkRIHr5R5lVRlbKvmQ+oS+A5aLKWp2ma5VkT8sh6v+v4hbH0YHR66A==",
+ "version": "1.4.2",
+ "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz",
+ "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==",
"dev": true
},
"regenerate-unicode-properties": {
@@ -7297,12 +9046,6 @@
"integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=",
"dev": true
},
- "require-main-filename": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz",
- "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==",
- "dev": true
- },
"requires-port": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz",
@@ -7310,43 +9053,29 @@
"dev": true
},
"resolve": {
- "version": "1.17.0",
- "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz",
- "integrity": "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==",
+ "version": "1.19.0",
+ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.19.0.tgz",
+ "integrity": "sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==",
"dev": true,
"requires": {
+ "is-core-module": "^2.1.0",
"path-parse": "^1.0.6"
}
},
"resolve-cwd": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz",
- "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=",
- "dev": true,
- "requires": {
- "resolve-from": "^3.0.0"
- }
- },
- "resolve-dir": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz",
- "integrity": "sha1-eaQGRMNivoLybv/nOcm7U4IEb0M=",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz",
+ "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==",
"dev": true,
"requires": {
- "expand-tilde": "^2.0.0",
- "global-modules": "^1.0.0"
+ "resolve-from": "^5.0.0"
},
"dependencies": {
- "global-modules": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz",
- "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==",
- "dev": true,
- "requires": {
- "global-prefix": "^1.0.1",
- "is-windows": "^1.0.1",
- "resolve-dir": "^1.0.0"
- }
+ "resolve-from": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz",
+ "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==",
+ "dev": true
}
}
},
@@ -7374,6 +9103,12 @@
"integrity": "sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=",
"dev": true
},
+ "reusify": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz",
+ "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==",
+ "dev": true
+ },
"rgb-regex": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/rgb-regex/-/rgb-regex-1.0.1.tgz",
@@ -7387,9 +9122,9 @@
"dev": true
},
"rimraf": {
- "version": "2.7.1",
- "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz",
- "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==",
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
+ "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
"dev": true,
"requires": {
"glob": "^7.1.3"
@@ -7402,18 +9137,15 @@
"dev": true,
"requires": {
"hash-base": "^3.0.0",
- "inherits": "^2.0.1"
- }
- },
- "run-queue": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz",
- "integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=",
- "dev": true,
- "requires": {
- "aproba": "^1.1.1"
+ "inherits": "^2.0.1"
}
},
+ "run-parallel": {
+ "version": "1.1.10",
+ "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.1.10.tgz",
+ "integrity": "sha512-zb/1OuZ6flOlH6tQyMPUrE3x3Ulxjlo9WIVXR4yVYi4H9UXQaeIsPbLn2R3O3vQCnDKkAl2qHiuocKKX4Tz/Sw==",
+ "dev": true
+ },
"safe-buffer": {
"version": "5.1.2",
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
@@ -7436,18 +9168,18 @@
"dev": true
},
"sass": {
- "version": "1.27.0",
- "resolved": "https://registry.npmjs.org/sass/-/sass-1.27.0.tgz",
- "integrity": "sha512-0gcrER56OkzotK/GGwgg4fPrKuiFlPNitO7eUJ18Bs+/NBlofJfMxmxqpqJxjae9vu0Wq8TZzrSyxZal00WDig==",
+ "version": "1.30.0",
+ "resolved": "https://registry.npmjs.org/sass/-/sass-1.30.0.tgz",
+ "integrity": "sha512-26EUhOXRLaUY7+mWuRFqGeGGNmhB1vblpTENO1Z7mAzzIZeVxZr9EZoaY1kyGLFWdSOZxRMAufiN2mkbO6dAlw==",
"dev": true,
"requires": {
"chokidar": ">=2.0.0 <4.0.0"
}
},
"sass-loader": {
- "version": "10.0.3",
- "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-10.0.3.tgz",
- "integrity": "sha512-W4+FV5oUdYy0PnC11ZoPrcAexODgDCa3ngxoy5X5qBhZYoPz9FPjb6Oox8Aa0ZYEyx34k8AQfOVuvqefOSAAUQ==",
+ "version": "10.1.0",
+ "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-10.1.0.tgz",
+ "integrity": "sha512-ZCKAlczLBbFd3aGAhowpYEy69Te3Z68cg8bnHHl6WnSCvnKpbM6pQrz957HWMa8LKVuhnD9uMplmMAHwGQtHeg==",
"dev": true,
"requires": {
"klona": "^2.0.4",
@@ -7572,9 +9304,9 @@
}
},
"serialize-javascript": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz",
- "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==",
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-5.0.1.tgz",
+ "integrity": "sha512-SaaNal9imEO737H2c05Og0/8LUXG7EnsZyMa8MzkmuHoELfT6txuj0cMqRj6zfPKnmQ1yasR4PCJc8x+M4JSPA==",
"dev": true,
"requires": {
"randombytes": "^2.1.0"
@@ -7648,12 +9380,6 @@
"send": "0.17.1"
}
},
- "set-blocking": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
- "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=",
- "dev": true
- },
"set-value": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz",
@@ -7705,6 +9431,15 @@
"safe-buffer": "^5.0.1"
}
},
+ "shallow-clone": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz",
+ "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==",
+ "dev": true,
+ "requires": {
+ "kind-of": "^6.0.2"
+ }
+ },
"shebang-command": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
@@ -7750,9 +9485,9 @@
}
},
"slash": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz",
- "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
+ "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
"dev": true
},
"snapdragon": {
@@ -7884,47 +9619,38 @@
}
},
"sockjs": {
- "version": "0.3.20",
- "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.20.tgz",
- "integrity": "sha512-SpmVOVpdq0DJc0qArhF3E5xsxvaiqGNb73XfgBpK1y3UD5gs8DSo8aCTsuT5pX8rssdc2NDIzANwP9eCAiSdTA==",
+ "version": "0.3.21",
+ "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.21.tgz",
+ "integrity": "sha512-DhbPFGpxjc6Z3I+uX07Id5ZO2XwYsWOrYjaSeieES78cq+JaJvVe5q/m1uvjIQhXinhIeCFRH6JgXe+mvVMyXw==",
"dev": true,
"requires": {
- "faye-websocket": "^0.10.0",
+ "faye-websocket": "^0.11.3",
"uuid": "^3.4.0",
- "websocket-driver": "0.6.5"
+ "websocket-driver": "^0.7.4"
}
},
"sockjs-client": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.4.0.tgz",
- "integrity": "sha512-5zaLyO8/nri5cua0VtOrFXBPK1jbL4+1cebT/mmKA1E1ZXOvJrII75bPu0l0k843G/+iAbhEqzyKr0w/eCCj7g==",
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.5.0.tgz",
+ "integrity": "sha512-8Dt3BDi4FYNrCFGTL/HtwVzkARrENdwOUf1ZoW/9p3M8lZdFT35jVdrHza+qgxuG9H3/shR4cuX/X9umUrjP8Q==",
"dev": true,
"requires": {
- "debug": "^3.2.5",
+ "debug": "^3.2.6",
"eventsource": "^1.0.7",
- "faye-websocket": "~0.11.1",
- "inherits": "^2.0.3",
- "json3": "^3.3.2",
- "url-parse": "^1.4.3"
+ "faye-websocket": "^0.11.3",
+ "inherits": "^2.0.4",
+ "json3": "^3.3.3",
+ "url-parse": "^1.4.7"
},
"dependencies": {
"debug": {
- "version": "3.2.6",
- "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz",
- "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==",
+ "version": "3.2.7",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
+ "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
"dev": true,
"requires": {
"ms": "^2.1.1"
}
- },
- "faye-websocket": {
- "version": "0.11.3",
- "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.3.tgz",
- "integrity": "sha512-D2y4bovYpzziGgbHYtGCMjlJM36vAl/y+xUyn1C+FVx8szd1E+86KwVw6XvYSzOP8iMpm1X0I4xJD+QtUb36OA==",
- "dev": true,
- "requires": {
- "websocket-driver": ">=0.5.1"
- }
}
}
},
@@ -8032,28 +9758,12 @@
"integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=",
"dev": true
},
- "ssri": {
- "version": "7.1.0",
- "resolved": "https://registry.npmjs.org/ssri/-/ssri-7.1.0.tgz",
- "integrity": "sha512-77/WrDZUWocK0mvA5NTRQyveUf+wsrIc6vyrxpS8tVvYBcX215QbafrJR3KtkpskIzoFLqqNuuYQvxaMjXJ/0g==",
- "dev": true,
- "requires": {
- "figgy-pudding": "^3.5.1",
- "minipass": "^3.1.1"
- }
- },
"stable": {
"version": "0.1.8",
"resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz",
"integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==",
"dev": true
},
- "stackframe": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.2.0.tgz",
- "integrity": "sha512-GrdeshiRmS1YLMYgzF16olf2jJ/IzxXY9lhKOskuVziubpTYcYqyOwYeJKzQkwy7uN0fYSsbsC4RQaXf9LCrYA==",
- "dev": true
- },
"static-extend": {
"version": "0.1.2",
"resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz",
@@ -8091,16 +9801,6 @@
"readable-stream": "^2.0.2"
}
},
- "stream-each": {
- "version": "1.2.3",
- "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz",
- "integrity": "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==",
- "dev": true,
- "requires": {
- "end-of-stream": "^1.1.0",
- "stream-shift": "^1.0.0"
- }
- },
"stream-http": {
"version": "2.8.3",
"resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz",
@@ -8114,99 +9814,35 @@
"xtend": "^4.0.0"
}
},
- "stream-shift": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz",
- "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==",
- "dev": true
- },
"string-width": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
- "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==",
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz",
+ "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==",
"dev": true,
"requires": {
- "is-fullwidth-code-point": "^2.0.0",
- "strip-ansi": "^4.0.0"
- },
- "dependencies": {
- "ansi-regex": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
- "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
- "dev": true
- },
- "strip-ansi": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
- "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
- "dev": true,
- "requires": {
- "ansi-regex": "^3.0.0"
- }
- }
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.0",
+ "strip-ansi": "^6.0.0"
}
},
"string.prototype.trimend": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.1.tgz",
- "integrity": "sha512-LRPxFUaTtpqYsTeNKaFOw3R4bxIzWOnbQ837QfBylo8jIxtcbK/A/sMV7Q+OAV/vWo+7s25pOE10KYSjaSO06g==",
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.3.tgz",
+ "integrity": "sha512-ayH0pB+uf0U28CtjlLvL7NaohvR1amUvVZk+y3DYb0Ey2PUV5zPkkKy9+U1ndVEIXO8hNg18eIv9Jntbii+dKw==",
"dev": true,
"requires": {
- "define-properties": "^1.1.3",
- "es-abstract": "^1.17.5"
- },
- "dependencies": {
- "es-abstract": {
- "version": "1.17.7",
- "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.7.tgz",
- "integrity": "sha512-VBl/gnfcJ7OercKA9MVaegWsBHFjV492syMudcnQZvt/Dw8ezpcOHYZXa/J96O8vx+g4x65YKhxOwDUh63aS5g==",
- "dev": true,
- "requires": {
- "es-to-primitive": "^1.2.1",
- "function-bind": "^1.1.1",
- "has": "^1.0.3",
- "has-symbols": "^1.0.1",
- "is-callable": "^1.2.2",
- "is-regex": "^1.1.1",
- "object-inspect": "^1.8.0",
- "object-keys": "^1.1.1",
- "object.assign": "^4.1.1",
- "string.prototype.trimend": "^1.0.1",
- "string.prototype.trimstart": "^1.0.1"
- }
- }
+ "call-bind": "^1.0.0",
+ "define-properties": "^1.1.3"
}
},
"string.prototype.trimstart": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.1.tgz",
- "integrity": "sha512-XxZn+QpvrBI1FOcg6dIpxUPgWCPuNXvMD72aaRaUQv1eD4e/Qy8i/hFTe0BUmD60p/QA6bh1avmuPTfNjqVWRw==",
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.3.tgz",
+ "integrity": "sha512-oBIBUy5lea5tt0ovtOFiEQaBkoBBkyJhZXzJYrSmDo5IUUqbOPvVezuRs/agBIdZ2p2Eo1FD6bD9USyBLfl3xg==",
"dev": true,
"requires": {
- "define-properties": "^1.1.3",
- "es-abstract": "^1.17.5"
- },
- "dependencies": {
- "es-abstract": {
- "version": "1.17.7",
- "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.7.tgz",
- "integrity": "sha512-VBl/gnfcJ7OercKA9MVaegWsBHFjV492syMudcnQZvt/Dw8ezpcOHYZXa/J96O8vx+g4x65YKhxOwDUh63aS5g==",
- "dev": true,
- "requires": {
- "es-to-primitive": "^1.2.1",
- "function-bind": "^1.1.1",
- "has": "^1.0.3",
- "has-symbols": "^1.0.1",
- "is-callable": "^1.2.2",
- "is-regex": "^1.1.1",
- "object-inspect": "^1.8.0",
- "object-keys": "^1.1.1",
- "object.assign": "^4.1.1",
- "string.prototype.trimend": "^1.0.1",
- "string.prototype.trimstart": "^1.0.1"
- }
- }
+ "call-bind": "^1.0.0",
+ "define-properties": "^1.1.3"
}
},
"string_decoder": {
@@ -8219,39 +9855,50 @@
}
},
"strip-ansi": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
- "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz",
+ "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==",
"dev": true,
"requires": {
- "ansi-regex": "^2.0.0"
+ "ansi-regex": "^5.0.0"
}
},
- "strip-eof": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz",
- "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=",
+ "strip-final-newline": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz",
+ "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==",
"dev": true
},
"style-loader": {
- "version": "0.23.1",
- "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-0.23.1.tgz",
- "integrity": "sha512-XK+uv9kWwhZMZ1y7mysB+zoihsEj4wneFWAS5qoiLwzW0WzSqMrrsIy+a3zkQJq0ipFtBpX5W3MqyRIBF/WFGg==",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-2.0.0.tgz",
+ "integrity": "sha512-Z0gYUJmzZ6ZdRUqpg1r8GsaFKypE+3xAzuFeMuoHgjc9KZv3wMyCRjQIWEbhoFSq7+7yoHXySDJyyWQaPajeiQ==",
"dev": true,
"requires": {
- "loader-utils": "^1.1.0",
- "schema-utils": "^1.0.0"
+ "loader-utils": "^2.0.0",
+ "schema-utils": "^3.0.0"
},
"dependencies": {
+ "loader-utils": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz",
+ "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==",
+ "dev": true,
+ "requires": {
+ "big.js": "^5.2.2",
+ "emojis-list": "^3.0.0",
+ "json5": "^2.1.2"
+ }
+ },
"schema-utils": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz",
- "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz",
+ "integrity": "sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA==",
"dev": true,
"requires": {
- "ajv": "^6.1.0",
- "ajv-errors": "^1.0.0",
- "ajv-keywords": "^3.1.0"
+ "@types/json-schema": "^7.0.6",
+ "ajv": "^6.12.5",
+ "ajv-keywords": "^3.5.2"
}
}
}
@@ -8267,6 +9914,39 @@
"postcss-selector-parser": "^3.0.0"
},
"dependencies": {
+ "chalk": {
+ "version": "2.4.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
+ "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^3.2.1",
+ "escape-string-regexp": "^1.0.5",
+ "supports-color": "^5.3.0"
+ },
+ "dependencies": {
+ "supports-color": {
+ "version": "5.5.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
+ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^3.0.0"
+ }
+ }
+ }
+ },
+ "postcss": {
+ "version": "7.0.35",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz",
+ "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==",
+ "dev": true,
+ "requires": {
+ "chalk": "^2.4.2",
+ "source-map": "^0.6.1",
+ "supports-color": "^6.1.0"
+ }
+ },
"postcss-selector-parser": {
"version": "3.1.2",
"resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz",
@@ -8277,6 +9957,21 @@
"indexes-of": "^1.0.1",
"uniq": "^1.0.1"
}
+ },
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz",
+ "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^3.0.0"
+ }
}
}
},
@@ -8308,154 +10003,94 @@
"stable": "^0.1.8",
"unquote": "~1.1.1",
"util.promisify": "~1.0.0"
+ },
+ "dependencies": {
+ "chalk": {
+ "version": "2.4.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
+ "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^3.2.1",
+ "escape-string-regexp": "^1.0.5",
+ "supports-color": "^5.3.0"
+ }
+ }
}
},
"tapable": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz",
- "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==",
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.0.tgz",
+ "integrity": "sha512-FBk4IesMV1rBxX2tfiK8RAmogtWn53puLOQlvO8XuwlgxcYbP4mVPS9Ph4aeamSyyVjOl24aYWAuc8U5kCVwMw==",
"dev": true
},
"terser": {
- "version": "3.17.0",
- "resolved": "https://registry.npmjs.org/terser/-/terser-3.17.0.tgz",
- "integrity": "sha512-/FQzzPJmCpjAH9Xvk2paiWrFq+5M6aVOf+2KRbwhByISDX/EujxsK+BAvrhb6H+2rtrLCHK9N01wO014vrIwVQ==",
+ "version": "5.5.1",
+ "resolved": "https://registry.npmjs.org/terser/-/terser-5.5.1.tgz",
+ "integrity": "sha512-6VGWZNVP2KTUcltUQJ25TtNjx/XgdDsBDKGt8nN0MpydU36LmbPPcMBd2kmtZNNGVVDLg44k7GKeHHj+4zPIBQ==",
"dev": true,
"requires": {
- "commander": "^2.19.0",
- "source-map": "~0.6.1",
- "source-map-support": "~0.5.10"
+ "commander": "^2.20.0",
+ "source-map": "~0.7.2",
+ "source-map-support": "~0.5.19"
},
"dependencies": {
+ "commander": {
+ "version": "2.20.3",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
+ "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
+ "dev": true
+ },
"source-map": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "version": "0.7.3",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz",
+ "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==",
"dev": true
}
}
},
"terser-webpack-plugin": {
- "version": "2.3.8",
- "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-2.3.8.tgz",
- "integrity": "sha512-/fKw3R+hWyHfYx7Bv6oPqmk4HGQcrWLtV3X6ggvPuwPNHSnzvVV51z6OaaCOus4YLjutYGOz3pEpbhe6Up2s1w==",
+ "version": "5.0.3",
+ "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.0.3.tgz",
+ "integrity": "sha512-zFdGk8Lh9ZJGPxxPE6jwysOlATWB8GMW8HcfGULWA/nPal+3VdATflQvSBSLQJRCmYZnfFJl6vkRTiwJGNgPiQ==",
"dev": true,
"requires": {
- "cacache": "^13.0.1",
- "find-cache-dir": "^3.3.1",
- "jest-worker": "^25.4.0",
- "p-limit": "^2.3.0",
- "schema-utils": "^2.6.6",
- "serialize-javascript": "^4.0.0",
+ "jest-worker": "^26.6.1",
+ "p-limit": "^3.0.2",
+ "schema-utils": "^3.0.0",
+ "serialize-javascript": "^5.0.1",
"source-map": "^0.6.1",
- "terser": "^4.6.12",
- "webpack-sources": "^1.4.3"
+ "terser": "^5.3.8"
},
"dependencies": {
- "find-cache-dir": {
- "version": "3.3.1",
- "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.1.tgz",
- "integrity": "sha512-t2GDMt3oGC/v+BMwzmllWDuJF/xcDtE5j/fCGbqDD7OLuJkj0cfh1YSA5VKPvwMeLFLNDBkwOKZ2X85jGLVftQ==",
- "dev": true,
- "requires": {
- "commondir": "^1.0.1",
- "make-dir": "^3.0.2",
- "pkg-dir": "^4.1.0"
- }
- },
- "find-up": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
- "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
- "dev": true,
- "requires": {
- "locate-path": "^5.0.0",
- "path-exists": "^4.0.0"
- }
- },
- "locate-path": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
- "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
- "dev": true,
- "requires": {
- "p-locate": "^4.1.0"
- }
- },
- "make-dir": {
+ "p-limit": {
"version": "3.1.0",
- "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz",
- "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==",
- "dev": true,
- "requires": {
- "semver": "^6.0.0"
- }
- },
- "p-locate": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
- "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
+ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz",
+ "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==",
"dev": true,
"requires": {
- "p-limit": "^2.2.0"
+ "yocto-queue": "^0.1.0"
}
},
- "path-exists": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
- "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
- "dev": true
- },
- "pkg-dir": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz",
- "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==",
+ "schema-utils": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz",
+ "integrity": "sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA==",
"dev": true,
"requires": {
- "find-up": "^4.0.0"
+ "@types/json-schema": "^7.0.6",
+ "ajv": "^6.12.5",
+ "ajv-keywords": "^3.5.2"
}
},
- "semver": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
- "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
- "dev": true
- },
"source-map": {
"version": "0.6.1",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
"dev": true
- },
- "terser": {
- "version": "4.8.0",
- "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.0.tgz",
- "integrity": "sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw==",
- "dev": true,
- "requires": {
- "commander": "^2.20.0",
- "source-map": "~0.6.1",
- "source-map-support": "~0.5.12"
- }
}
}
},
- "through": {
- "version": "2.3.8",
- "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
- "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=",
- "dev": true
- },
- "through2": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz",
- "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==",
- "dev": true,
- "requires": {
- "readable-stream": "~2.3.6",
- "xtend": "~4.0.1"
- }
- },
"thunky": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz",
@@ -8463,9 +10098,9 @@
"dev": true
},
"timers-browserify": {
- "version": "2.0.11",
- "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.11.tgz",
- "integrity": "sha512-60aV6sgJ5YEbzUdn9c8kYGIqOubPoUdqQCul3SBAsRCZ40s6Y5cMcrW4dt3/k/EsbLVJNl9n6Vz3fTc+k2GeKQ==",
+ "version": "2.0.12",
+ "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.12.tgz",
+ "integrity": "sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ==",
"dev": true,
"requires": {
"setimmediate": "^1.0.4"
@@ -8538,9 +10173,9 @@
"dev": true
},
"tslib": {
- "version": "1.14.1",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
- "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.3.tgz",
+ "integrity": "sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ==",
"dev": true
},
"tty-browserify": {
@@ -8549,46 +10184,22 @@
"integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=",
"dev": true
},
- "type-is": {
- "version": "1.6.18",
- "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz",
- "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==",
- "dev": true,
- "requires": {
- "media-typer": "0.3.0",
- "mime-types": "~2.1.24"
- }
- },
- "typedarray": {
- "version": "0.0.6",
- "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz",
- "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=",
- "dev": true
- },
- "uglify-js": {
- "version": "3.4.10",
- "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.4.10.tgz",
- "integrity": "sha512-Y2VsbPVs0FIshJztycsO2SfPk7/KAF/T72qzv9u5EpQ4kB2hQoHlhNQTsNyy6ul7lQtqJN/AoWeS23OzEiEFxw==",
- "dev": true,
- "requires": {
- "commander": "~2.19.0",
- "source-map": "~0.6.1"
- },
- "dependencies": {
- "commander": {
- "version": "2.19.0",
- "resolved": "https://registry.npmjs.org/commander/-/commander-2.19.0.tgz",
- "integrity": "sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg==",
- "dev": true
- },
- "source-map": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
- "dev": true
- }
+ "type-is": {
+ "version": "1.6.18",
+ "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz",
+ "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==",
+ "dev": true,
+ "requires": {
+ "media-typer": "0.3.0",
+ "mime-types": "~2.1.24"
}
},
+ "typo-js": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/typo-js/-/typo-js-1.1.0.tgz",
+ "integrity": "sha512-W3kLbx+ML9PBl5Bzso/lTvVxk4BCveSNAtQeht59FEtxCdGThmn6wSHA4Xq3eQYAK24NHdisMM4JmsK0GFy/pg==",
+ "dev": true
+ },
"unicode-canonical-property-names-ecmascript": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz",
@@ -8649,28 +10260,10 @@
"integrity": "sha1-/+3ks2slKQaW5uFl1KWe25mOawI=",
"dev": true
},
- "unique-filename": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz",
- "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==",
- "dev": true,
- "requires": {
- "unique-slug": "^2.0.0"
- }
- },
- "unique-slug": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz",
- "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==",
- "dev": true,
- "requires": {
- "imurmurhash": "^0.1.4"
- }
- },
"universalify": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz",
- "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==",
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/universalify/-/universalify-1.0.0.tgz",
+ "integrity": "sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug==",
"dev": true
},
"unpipe": {
@@ -8731,12 +10324,6 @@
"integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==",
"dev": true
},
- "upper-case": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz",
- "integrity": "sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg=",
- "dev": true
- },
"uri-js": {
"version": "4.4.0",
"resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.0.tgz",
@@ -8855,9 +10442,9 @@
"dev": true
},
"v8-compile-cache": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.1.1.tgz",
- "integrity": "sha512-8OQ9CL+VWyt3JStj7HX7/ciTL2V3Rl1Wf5OL+SNTm0yK1KvtReVulksyeRnCANHHuUxHlQig+JJDlUhBt1NQDQ==",
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.2.0.tgz",
+ "integrity": "sha512-gTpR5XQNKFwOd4clxfnhaqvfqMpqEwr4tOtCyz4MtYZX2JYhfr1JvBFKdS+7K/9rfpZR3VLX+YWBbKoxCgS43Q==",
"dev": true
},
"vary": {
@@ -8878,35 +10465,6 @@
"integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==",
"dev": true
},
- "vue-hot-reload-api": {
- "version": "2.3.4",
- "resolved": "https://registry.npmjs.org/vue-hot-reload-api/-/vue-hot-reload-api-2.3.4.tgz",
- "integrity": "sha512-BXq3jwIagosjgNVae6tkHzzIk6a8MHFtzAdwhnV5VlvPTFxDCvIttgSiHWjdGoTJvXtmRu5HacExfdarRcFhog==",
- "dev": true
- },
- "vue-loader": {
- "version": "15.9.3",
- "resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-15.9.3.tgz",
- "integrity": "sha512-Y67VnGGgVLH5Voostx8JBZgPQTlDQeOVBLOEsjc2cXbCYBKexSKEpOA56x0YZofoDOTszrLnIShyOX1p9uCEHA==",
- "dev": true,
- "requires": {
- "@vue/component-compiler-utils": "^3.1.0",
- "hash-sum": "^1.0.2",
- "loader-utils": "^1.1.0",
- "vue-hot-reload-api": "^2.3.0",
- "vue-style-loader": "^4.1.0"
- }
- },
- "vue-style-loader": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/vue-style-loader/-/vue-style-loader-4.1.2.tgz",
- "integrity": "sha512-0ip8ge6Gzz/Bk0iHovU9XAUQaFt/G2B61bnWa2tCcqqdgfHs1lF9xXorFbE55Gmy92okFT+8bfmySuUOu13vxQ==",
- "dev": true,
- "requires": {
- "hash-sum": "^1.0.2",
- "loader-utils": "^1.0.2"
- }
- },
"vue-template-compiler": {
"version": "2.6.12",
"resolved": "https://registry.npmjs.org/vue-template-compiler/-/vue-template-compiler-2.6.12.tgz",
@@ -8917,143 +10475,14 @@
"he": "^1.1.0"
}
},
- "vue-template-es2015-compiler": {
- "version": "1.9.1",
- "resolved": "https://registry.npmjs.org/vue-template-es2015-compiler/-/vue-template-es2015-compiler-1.9.1.tgz",
- "integrity": "sha512-4gDntzrifFnCEvyoO8PqyJDmguXgVPxKiIxrBKjIowvL9l+N66196+72XVYR8BBf1Uv1Fgt3bGevJ+sEmxfZzw==",
- "dev": true
- },
"watchpack": {
- "version": "1.7.4",
- "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.7.4.tgz",
- "integrity": "sha512-aWAgTW4MoSJzZPAicljkO1hsi1oKj/RRq/OJQh2PKI2UKL04c2Bs+MBOB+BBABHTXJpf9mCwHN7ANCvYsvY2sg==",
- "dev": true,
- "requires": {
- "chokidar": "^3.4.1",
- "graceful-fs": "^4.1.2",
- "neo-async": "^2.5.0",
- "watchpack-chokidar2": "^2.0.0"
- },
- "dependencies": {
- "anymatch": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz",
- "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==",
- "dev": true,
- "optional": true,
- "requires": {
- "normalize-path": "^3.0.0",
- "picomatch": "^2.0.4"
- }
- },
- "binary-extensions": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.1.0.tgz",
- "integrity": "sha512-1Yj8h9Q+QDF5FzhMs/c9+6UntbD5MkRfRwac8DoEm9ZfUBZ7tZ55YcGVAzEe4bXsdQHEk+s9S5wsOKVdZrw0tQ==",
- "dev": true,
- "optional": true
- },
- "braces": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
- "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
- "dev": true,
- "optional": true,
- "requires": {
- "fill-range": "^7.0.1"
- }
- },
- "chokidar": {
- "version": "3.4.3",
- "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.4.3.tgz",
- "integrity": "sha512-DtM3g7juCXQxFVSNPNByEC2+NImtBuxQQvWlHunpJIS5Ocr0lG306cC7FCi7cEA0fzmybPUIl4txBIobk1gGOQ==",
- "dev": true,
- "optional": true,
- "requires": {
- "anymatch": "~3.1.1",
- "braces": "~3.0.2",
- "fsevents": "~2.1.2",
- "glob-parent": "~5.1.0",
- "is-binary-path": "~2.1.0",
- "is-glob": "~4.0.1",
- "normalize-path": "~3.0.0",
- "readdirp": "~3.5.0"
- }
- },
- "fill-range": {
- "version": "7.0.1",
- "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
- "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
- "dev": true,
- "optional": true,
- "requires": {
- "to-regex-range": "^5.0.1"
- }
- },
- "fsevents": {
- "version": "2.1.3",
- "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz",
- "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==",
- "dev": true,
- "optional": true
- },
- "glob-parent": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz",
- "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==",
- "dev": true,
- "optional": true,
- "requires": {
- "is-glob": "^4.0.1"
- }
- },
- "is-binary-path": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
- "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
- "dev": true,
- "optional": true,
- "requires": {
- "binary-extensions": "^2.0.0"
- }
- },
- "is-number": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
- "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
- "dev": true,
- "optional": true
- },
- "readdirp": {
- "version": "3.5.0",
- "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.5.0.tgz",
- "integrity": "sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==",
- "dev": true,
- "optional": true,
- "requires": {
- "picomatch": "^2.2.1"
- }
- },
- "to-regex-range": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
- "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
- "dev": true,
- "optional": true,
- "requires": {
- "is-number": "^7.0.0"
- }
- }
- }
- },
- "watchpack-chokidar2": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/watchpack-chokidar2/-/watchpack-chokidar2-2.0.0.tgz",
- "integrity": "sha512-9TyfOyN/zLUbA288wZ8IsMZ+6cbzvsNyEzSBp6e/zkifi6xxbl8SmQ/CxQq32k8NNqrdVEVUVSEf56L4rQ/ZxA==",
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.1.0.tgz",
+ "integrity": "sha512-UjgD1mqjkG99+3lgG36at4wPnUXNvis2v1utwTgQ43C22c4LD71LsYMExdWXh4HZ+RmW+B0t1Vrg2GpXAkTOQw==",
"dev": true,
- "optional": true,
"requires": {
- "chokidar": "^2.1.8"
+ "glob-to-regexp": "^0.4.1",
+ "graceful-fs": "^4.1.2"
}
},
"wbuf": {
@@ -9066,402 +10495,357 @@
}
},
"webpack": {
- "version": "4.44.2",
- "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.44.2.tgz",
- "integrity": "sha512-6KJVGlCxYdISyurpQ0IPTklv+DULv05rs2hseIXer6D7KrUicRDLFb4IUM1S6LUAKypPM/nSiVSuv8jHu1m3/Q==",
- "dev": true,
- "requires": {
- "@webassemblyjs/ast": "1.9.0",
- "@webassemblyjs/helper-module-context": "1.9.0",
- "@webassemblyjs/wasm-edit": "1.9.0",
- "@webassemblyjs/wasm-parser": "1.9.0",
- "acorn": "^6.4.1",
- "ajv": "^6.10.2",
- "ajv-keywords": "^3.4.1",
+ "version": "5.11.0",
+ "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.11.0.tgz",
+ "integrity": "sha512-ubWv7iP54RqAC/VjixgpnLLogCFbAfSOREcSWnnOlZEU8GICC5eKmJSu6YEnph2N2amKqY9rvxSwgyHxVqpaRw==",
+ "dev": true,
+ "requires": {
+ "@types/eslint-scope": "^3.7.0",
+ "@types/estree": "^0.0.45",
+ "@webassemblyjs/ast": "1.9.1",
+ "@webassemblyjs/helper-module-context": "1.9.1",
+ "@webassemblyjs/wasm-edit": "1.9.1",
+ "@webassemblyjs/wasm-parser": "1.9.1",
+ "acorn": "^8.0.4",
+ "browserslist": "^4.14.5",
"chrome-trace-event": "^1.0.2",
- "enhanced-resolve": "^4.3.0",
- "eslint-scope": "^4.0.3",
+ "enhanced-resolve": "^5.3.1",
+ "eslint-scope": "^5.1.1",
+ "events": "^3.2.0",
+ "glob-to-regexp": "^0.4.1",
+ "graceful-fs": "^4.2.4",
"json-parse-better-errors": "^1.0.2",
- "loader-runner": "^2.4.0",
- "loader-utils": "^1.2.3",
- "memory-fs": "^0.4.1",
- "micromatch": "^3.1.10",
- "mkdirp": "^0.5.3",
- "neo-async": "^2.6.1",
- "node-libs-browser": "^2.2.1",
- "schema-utils": "^1.0.0",
- "tapable": "^1.1.3",
- "terser-webpack-plugin": "^1.4.3",
- "watchpack": "^1.7.4",
- "webpack-sources": "^1.4.1"
- },
- "dependencies": {
- "cacache": {
- "version": "12.0.4",
- "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.4.tgz",
- "integrity": "sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==",
- "dev": true,
- "requires": {
- "bluebird": "^3.5.5",
- "chownr": "^1.1.1",
- "figgy-pudding": "^3.5.1",
- "glob": "^7.1.4",
- "graceful-fs": "^4.1.15",
- "infer-owner": "^1.0.3",
- "lru-cache": "^5.1.1",
- "mississippi": "^3.0.0",
- "mkdirp": "^0.5.1",
- "move-concurrently": "^1.0.1",
- "promise-inflight": "^1.0.1",
- "rimraf": "^2.6.3",
- "ssri": "^6.0.1",
- "unique-filename": "^1.1.1",
- "y18n": "^4.0.0"
- }
- },
- "schema-utils": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz",
- "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==",
+ "loader-runner": "^4.1.0",
+ "mime-types": "^2.1.27",
+ "neo-async": "^2.6.2",
+ "pkg-dir": "^5.0.0",
+ "schema-utils": "^3.0.0",
+ "tapable": "^2.1.1",
+ "terser-webpack-plugin": "^5.0.3",
+ "watchpack": "^2.0.0",
+ "webpack-sources": "^2.1.1"
+ },
+ "dependencies": {
+ "find-up": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz",
+ "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==",
"dev": true,
"requires": {
- "ajv": "^6.1.0",
- "ajv-errors": "^1.0.0",
- "ajv-keywords": "^3.1.0"
+ "locate-path": "^6.0.0",
+ "path-exists": "^4.0.0"
}
},
- "source-map": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
- "dev": true
- },
- "ssri": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.1.tgz",
- "integrity": "sha512-3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA==",
+ "locate-path": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz",
+ "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==",
"dev": true,
"requires": {
- "figgy-pudding": "^3.5.1"
+ "p-locate": "^5.0.0"
}
},
- "terser": {
- "version": "4.8.0",
- "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.0.tgz",
- "integrity": "sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw==",
+ "p-limit": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz",
+ "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==",
"dev": true,
"requires": {
- "commander": "^2.20.0",
- "source-map": "~0.6.1",
- "source-map-support": "~0.5.12"
+ "yocto-queue": "^0.1.0"
}
},
- "terser-webpack-plugin": {
- "version": "1.4.5",
- "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz",
- "integrity": "sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw==",
+ "p-locate": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz",
+ "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==",
"dev": true,
"requires": {
- "cacache": "^12.0.2",
- "find-cache-dir": "^2.1.0",
- "is-wsl": "^1.1.0",
- "schema-utils": "^1.0.0",
- "serialize-javascript": "^4.0.0",
- "source-map": "^0.6.1",
- "terser": "^4.1.2",
- "webpack-sources": "^1.4.0",
- "worker-farm": "^1.7.0"
+ "p-limit": "^3.0.2"
}
- }
- }
- },
- "webpack-cli": {
- "version": "3.3.12",
- "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-3.3.12.tgz",
- "integrity": "sha512-NVWBaz9k839ZH/sinurM+HcDvJOTXwSjYp1ku+5XKeOC03z8v5QitnK/x+lAxGXFyhdayoIf/GOpv85z3/xPag==",
- "dev": true,
- "requires": {
- "chalk": "^2.4.2",
- "cross-spawn": "^6.0.5",
- "enhanced-resolve": "^4.1.1",
- "findup-sync": "^3.0.0",
- "global-modules": "^2.0.0",
- "import-local": "^2.0.0",
- "interpret": "^1.4.0",
- "loader-utils": "^1.4.0",
- "supports-color": "^6.1.0",
- "v8-compile-cache": "^2.1.1",
- "yargs": "^13.3.2"
- },
- "dependencies": {
- "ansi-regex": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
- "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==",
- "dev": true
},
- "cross-spawn": {
- "version": "6.0.5",
- "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz",
- "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==",
+ "pkg-dir": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-5.0.0.tgz",
+ "integrity": "sha512-NPE8TDbzl/3YQYY7CSS228s3g2ollTFnc+Qi3tqmqJp9Vg2ovUpixcJEo2HJScN2Ez+kEaal6y70c0ehqJBJeA==",
"dev": true,
"requires": {
- "nice-try": "^1.0.4",
- "path-key": "^2.0.1",
- "semver": "^5.5.0",
- "shebang-command": "^1.2.0",
- "which": "^1.2.9"
+ "find-up": "^5.0.0"
}
},
- "path-key": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz",
- "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=",
- "dev": true
- },
- "shebang-command": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",
- "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=",
+ "schema-utils": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz",
+ "integrity": "sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA==",
"dev": true,
"requires": {
- "shebang-regex": "^1.0.0"
+ "@types/json-schema": "^7.0.6",
+ "ajv": "^6.12.5",
+ "ajv-keywords": "^3.5.2"
}
},
- "shebang-regex": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz",
- "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=",
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
"dev": true
},
- "string-width": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz",
- "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==",
- "dev": true,
- "requires": {
- "emoji-regex": "^7.0.1",
- "is-fullwidth-code-point": "^2.0.0",
- "strip-ansi": "^5.1.0"
- }
- },
- "strip-ansi": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
- "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
- "dev": true,
- "requires": {
- "ansi-regex": "^4.1.0"
- }
- },
- "supports-color": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz",
- "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==",
+ "webpack-sources": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-2.2.0.tgz",
+ "integrity": "sha512-bQsA24JLwcnWGArOKUxYKhX3Mz/nK1Xf6hxullKERyktjNMC4x8koOeaDNTA2fEJ09BdWLbM/iTW0ithREUP0w==",
"dev": true,
"requires": {
- "has-flag": "^3.0.0"
+ "source-list-map": "^2.0.1",
+ "source-map": "^0.6.1"
}
- },
- "which": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
- "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
+ }
+ }
+ },
+ "webpack-cli": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-4.3.0.tgz",
+ "integrity": "sha512-gve+BBKrzMPTOYDjupzV8JchUznhVWMKtWM1hFIQWi6XoeLvGNoQwkrtMWVb+aJ437GgCKdta7sIn10v621pKA==",
+ "dev": true,
+ "requires": {
+ "@discoveryjs/json-ext": "^0.5.0",
+ "@webpack-cli/info": "^1.2.0",
+ "@webpack-cli/serve": "^1.2.0",
+ "colorette": "^1.2.1",
+ "commander": "^6.2.0",
+ "enquirer": "^2.3.6",
+ "execa": "^4.1.0",
+ "fastest-levenshtein": "^1.0.12",
+ "import-local": "^3.0.2",
+ "interpret": "^2.2.0",
+ "rechoir": "^0.7.0",
+ "v8-compile-cache": "^2.2.0",
+ "webpack-merge": "^4.2.2"
+ },
+ "dependencies": {
+ "webpack-merge": {
+ "version": "4.2.2",
+ "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-4.2.2.tgz",
+ "integrity": "sha512-TUE1UGoTX2Cd42j3krGYqObZbOD+xF7u28WB7tfUordytSjbWTIjK/8V0amkBfTYN4/pB/GIDlJZZ657BGG19g==",
"dev": true,
"requires": {
- "isexe": "^2.0.0"
+ "lodash": "^4.17.15"
}
- },
- "yargs": {
- "version": "13.3.2",
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz",
- "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==",
+ }
+ }
+ },
+ "webpack-dev-middleware": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-4.0.2.tgz",
+ "integrity": "sha512-xyAICqIugWtT1RRH5aMMmZlPhDhEqPTDL0TWhmMZsuZ+cFlAvRxv4thCbuxdk9MW+OYK4c9BkfmgdQ1/7imkJA==",
+ "dev": true,
+ "requires": {
+ "mem": "^8.0.0",
+ "memfs": "^3.2.0",
+ "mime-types": "^2.1.27",
+ "range-parser": "^1.2.1",
+ "schema-utils": "^3.0.0"
+ },
+ "dependencies": {
+ "schema-utils": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz",
+ "integrity": "sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA==",
"dev": true,
"requires": {
- "cliui": "^5.0.0",
- "find-up": "^3.0.0",
- "get-caller-file": "^2.0.1",
- "require-directory": "^2.1.1",
- "require-main-filename": "^2.0.0",
- "set-blocking": "^2.0.0",
- "string-width": "^3.0.0",
- "which-module": "^2.0.0",
- "y18n": "^4.0.0",
- "yargs-parser": "^13.1.2"
+ "@types/json-schema": "^7.0.6",
+ "ajv": "^6.12.5",
+ "ajv-keywords": "^3.5.2"
}
}
}
},
- "webpack-dev-middleware": {
- "version": "3.7.2",
- "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-3.7.2.tgz",
- "integrity": "sha512-1xC42LxbYoqLNAhV6YzTYacicgMZQTqRd27Sim9wn5hJrX3I5nxYy1SxSd4+gjUFsz1dQFj+yEe6zEVmSkeJjw==",
- "dev": true,
- "requires": {
- "memory-fs": "^0.4.1",
- "mime": "^2.4.4",
- "mkdirp": "^0.5.1",
- "range-parser": "^1.2.1",
- "webpack-log": "^2.0.0"
- },
- "dependencies": {
- "mime": {
- "version": "2.4.6",
- "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.6.tgz",
- "integrity": "sha512-RZKhC3EmpBchfTGBVb8fb+RL2cWyw/32lshnsETttkBAyAUXSGHxbEJWWRXc751DrIxG1q04b8QwMbAwkRPpUA==",
- "dev": true
- }
- }
- },
"webpack-dev-server": {
- "version": "3.11.0",
- "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.11.0.tgz",
- "integrity": "sha512-PUxZ+oSTxogFQgkTtFndEtJIPNmml7ExwufBZ9L2/Xyyd5PnOL5UreWe5ZT7IU25DSdykL9p1MLQzmLh2ljSeg==",
+ "version": "4.0.0-beta.0",
+ "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.0.0-beta.0.tgz",
+ "integrity": "sha512-mVD4Hn3bsMdcq6qE0y8xvH6KAu9NwS6F0NNgFe+n6gbsTQ7YgffUDydvy2iieyyKjAcBJDT5PZexv9tKv8kTNQ==",
"dev": true,
"requires": {
"ansi-html": "0.0.7",
"bonjour": "^3.5.0",
- "chokidar": "^2.1.8",
+ "chokidar": "^3.4.3",
"compression": "^1.7.4",
"connect-history-api-fallback": "^1.6.0",
- "debug": "^4.1.1",
- "del": "^4.1.1",
+ "del": "^6.0.0",
"express": "^4.17.1",
+ "find-cache-dir": "^3.3.1",
+ "graceful-fs": "^4.2.4",
"html-entities": "^1.3.1",
- "http-proxy-middleware": "0.19.1",
- "import-local": "^2.0.0",
- "internal-ip": "^4.3.0",
+ "http-proxy-middleware": "^1.0.6",
+ "internal-ip": "^6.2.0",
"ip": "^1.1.5",
"is-absolute-url": "^3.0.3",
"killable": "^1.0.1",
- "loglevel": "^1.6.8",
- "opn": "^5.5.0",
- "p-retry": "^3.0.1",
- "portfinder": "^1.0.26",
- "schema-utils": "^1.0.0",
- "selfsigned": "^1.10.7",
- "semver": "^6.3.0",
+ "open": "^7.3.0",
+ "p-retry": "^4.2.0",
+ "portfinder": "^1.0.28",
+ "schema-utils": "^3.0.0",
+ "selfsigned": "^1.10.8",
"serve-index": "^1.9.1",
- "sockjs": "0.3.20",
- "sockjs-client": "1.4.0",
+ "sockjs": "0.3.21",
+ "sockjs-client": "1.5.0",
"spdy": "^4.0.2",
- "strip-ansi": "^3.0.1",
- "supports-color": "^6.1.0",
+ "strip-ansi": "^6.0.0",
"url": "^0.11.0",
- "webpack-dev-middleware": "^3.7.2",
- "webpack-log": "^2.0.0",
- "ws": "^6.2.1",
- "yargs": "^13.3.2"
+ "util": "^0.12.3",
+ "webpack-dev-middleware": "^4.0.2",
+ "ws": "^7.4.0"
},
"dependencies": {
- "ansi-regex": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
- "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==",
+ "anymatch": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz",
+ "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==",
+ "dev": true,
+ "requires": {
+ "normalize-path": "^3.0.0",
+ "picomatch": "^2.0.4"
+ }
+ },
+ "binary-extensions": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.1.0.tgz",
+ "integrity": "sha512-1Yj8h9Q+QDF5FzhMs/c9+6UntbD5MkRfRwac8DoEm9ZfUBZ7tZ55YcGVAzEe4bXsdQHEk+s9S5wsOKVdZrw0tQ==",
"dev": true
},
+ "braces": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
+ "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
+ "dev": true,
+ "requires": {
+ "fill-range": "^7.0.1"
+ }
+ },
+ "chokidar": {
+ "version": "3.4.3",
+ "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.4.3.tgz",
+ "integrity": "sha512-DtM3g7juCXQxFVSNPNByEC2+NImtBuxQQvWlHunpJIS5Ocr0lG306cC7FCi7cEA0fzmybPUIl4txBIobk1gGOQ==",
+ "dev": true,
+ "requires": {
+ "anymatch": "~3.1.1",
+ "braces": "~3.0.2",
+ "fsevents": "~2.1.2",
+ "glob-parent": "~5.1.0",
+ "is-binary-path": "~2.1.0",
+ "is-glob": "~4.0.1",
+ "normalize-path": "~3.0.0",
+ "readdirp": "~3.5.0"
+ }
+ },
+ "fill-range": {
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
+ "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
+ "dev": true,
+ "requires": {
+ "to-regex-range": "^5.0.1"
+ }
+ },
+ "fsevents": {
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz",
+ "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==",
+ "dev": true,
+ "optional": true
+ },
+ "glob-parent": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz",
+ "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==",
+ "dev": true,
+ "requires": {
+ "is-glob": "^4.0.1"
+ }
+ },
"is-absolute-url": {
"version": "3.0.3",
"resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-3.0.3.tgz",
"integrity": "sha512-opmNIX7uFnS96NtPmhWQgQx6/NYFgsUXYMllcfzwWKUMwfo8kku1TvE6hkNcH+Q1ts5cMVrsY7j0bxXQDciu9Q==",
"dev": true
},
- "schema-utils": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz",
- "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==",
+ "is-binary-path": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
+ "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
"dev": true,
"requires": {
- "ajv": "^6.1.0",
- "ajv-errors": "^1.0.0",
- "ajv-keywords": "^3.1.0"
+ "binary-extensions": "^2.0.0"
}
},
- "semver": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
- "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+ "is-number": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
+ "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
"dev": true
},
- "string-width": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz",
- "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==",
+ "readdirp": {
+ "version": "3.5.0",
+ "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.5.0.tgz",
+ "integrity": "sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==",
"dev": true,
"requires": {
- "emoji-regex": "^7.0.1",
- "is-fullwidth-code-point": "^2.0.0",
- "strip-ansi": "^5.1.0"
- },
- "dependencies": {
- "strip-ansi": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
- "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
- "dev": true,
- "requires": {
- "ansi-regex": "^4.1.0"
- }
- }
+ "picomatch": "^2.2.1"
}
},
- "supports-color": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz",
- "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==",
+ "schema-utils": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz",
+ "integrity": "sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA==",
"dev": true,
"requires": {
- "has-flag": "^3.0.0"
+ "@types/json-schema": "^7.0.6",
+ "ajv": "^6.12.5",
+ "ajv-keywords": "^3.5.2"
+ }
+ },
+ "to-regex-range": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
+ "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
+ "dev": true,
+ "requires": {
+ "is-number": "^7.0.0"
}
},
- "yargs": {
- "version": "13.3.2",
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz",
- "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==",
+ "util": {
+ "version": "0.12.3",
+ "resolved": "https://registry.npmjs.org/util/-/util-0.12.3.tgz",
+ "integrity": "sha512-I8XkoQwE+fPQEhy9v012V+TSdH2kp9ts29i20TaaDUXsg7x/onePbhFJUExBfv/2ay1ZOp/Vsm3nDlmnFGSAog==",
"dev": true,
"requires": {
- "cliui": "^5.0.0",
- "find-up": "^3.0.0",
- "get-caller-file": "^2.0.1",
- "require-directory": "^2.1.1",
- "require-main-filename": "^2.0.0",
- "set-blocking": "^2.0.0",
- "string-width": "^3.0.0",
- "which-module": "^2.0.0",
- "y18n": "^4.0.0",
- "yargs-parser": "^13.1.2"
+ "inherits": "^2.0.3",
+ "is-arguments": "^1.0.4",
+ "is-generator-function": "^1.0.7",
+ "is-typed-array": "^1.1.3",
+ "safe-buffer": "^5.1.2",
+ "which-typed-array": "^1.1.2"
}
}
}
},
- "webpack-log": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/webpack-log/-/webpack-log-2.0.0.tgz",
- "integrity": "sha512-cX8G2vR/85UYG59FgkoMamwHUIkSSlV3bBMRsbxVXVUk2j6NleCKjQ/WE9eYg9WY4w25O9w8wKP4rzNZFmUcUg==",
- "dev": true,
- "requires": {
- "ansi-colors": "^3.0.0",
- "uuid": "^3.3.2"
- }
- },
"webpack-merge": {
- "version": "4.2.2",
- "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-4.2.2.tgz",
- "integrity": "sha512-TUE1UGoTX2Cd42j3krGYqObZbOD+xF7u28WB7tfUordytSjbWTIjK/8V0amkBfTYN4/pB/GIDlJZZ657BGG19g==",
+ "version": "5.7.3",
+ "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.7.3.tgz",
+ "integrity": "sha512-6/JUQv0ELQ1igjGDzHkXbVDRxkfA57Zw7PfiupdLFJYrgFqY5ZP8xxbpp2lU3EPwYx89ht5Z/aDkD40hFCm5AA==",
"dev": true,
"requires": {
- "lodash": "^4.17.15"
+ "clone-deep": "^4.0.1",
+ "wildcard": "^2.0.0"
}
},
"webpack-notifier": {
- "version": "1.8.0",
- "resolved": "https://registry.npmjs.org/webpack-notifier/-/webpack-notifier-1.8.0.tgz",
- "integrity": "sha512-I6t76NoPe5DZCCm5geELmDV2wlJ89LbU425uN6T2FG8Ywrrt1ZcUMz6g8yWGNg4pttqTPFQJYUPjWAlzUEQ+cQ==",
+ "version": "1.12.0",
+ "resolved": "https://registry.npmjs.org/webpack-notifier/-/webpack-notifier-1.12.0.tgz",
+ "integrity": "sha512-urRnbKupMQHUplsiwsOajp1F1DCJgJ+yyT4HIxAP+TfMF+ZtsKW+kVt2UcDm1E88xutOst+VChJZMDAD3aec5w==",
"dev": true,
"requires": {
- "node-notifier": "^5.1.2",
- "object-assign": "^4.1.0",
- "strip-ansi": "^3.0.1"
+ "node-notifier": "^8.0.0",
+ "strip-ansi": "^6.0.0"
}
},
"webpack-sources": {
@@ -9483,11 +10867,13 @@
}
},
"websocket-driver": {
- "version": "0.6.5",
- "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.6.5.tgz",
- "integrity": "sha1-XLJVbOuF9Dc8bYI4qmkchFThOjY=",
+ "version": "0.7.4",
+ "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz",
+ "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==",
"dev": true,
"requires": {
+ "http-parser-js": ">=0.5.1",
+ "safe-buffer": ">=5.1.0",
"websocket-extensions": ">=0.1.1"
}
},
@@ -9506,57 +10892,61 @@
"isexe": "^2.0.0"
}
},
- "which-module": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz",
- "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=",
- "dev": true
- },
- "worker-farm": {
- "version": "1.7.0",
- "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.7.0.tgz",
- "integrity": "sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw==",
+ "which-typed-array": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.4.tgz",
+ "integrity": "sha512-49E0SpUe90cjpoc7BOJwyPHRqSAd12c10Qm2amdEZrJPCY2NDxaW01zHITrem+rnETY3dwrbH3UUrUwagfCYDA==",
"dev": true,
"requires": {
- "errno": "~0.1.7"
+ "available-typed-arrays": "^1.0.2",
+ "call-bind": "^1.0.0",
+ "es-abstract": "^1.18.0-next.1",
+ "foreach": "^2.0.5",
+ "function-bind": "^1.1.1",
+ "has-symbols": "^1.0.1",
+ "is-typed-array": "^1.1.3"
}
},
+ "wildcard": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.0.tgz",
+ "integrity": "sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw==",
+ "dev": true
+ },
"wrap-ansi": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz",
- "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==",
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
+ "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
"dev": true,
"requires": {
- "ansi-styles": "^3.2.0",
- "string-width": "^3.0.0",
- "strip-ansi": "^5.0.0"
+ "ansi-styles": "^4.0.0",
+ "string-width": "^4.1.0",
+ "strip-ansi": "^6.0.0"
},
"dependencies": {
- "ansi-regex": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
- "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==",
- "dev": true
- },
- "string-width": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz",
- "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==",
+ "ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
"dev": true,
"requires": {
- "emoji-regex": "^7.0.1",
- "is-fullwidth-code-point": "^2.0.0",
- "strip-ansi": "^5.1.0"
+ "color-convert": "^2.0.1"
}
},
- "strip-ansi": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
- "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
+ "color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
"dev": true,
"requires": {
- "ansi-regex": "^4.1.0"
+ "color-name": "~1.1.4"
}
+ },
+ "color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "dev": true
}
}
},
@@ -9567,13 +10957,10 @@
"dev": true
},
"ws": {
- "version": "6.2.1",
- "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.1.tgz",
- "integrity": "sha512-GIyAXC2cB7LjvpgMt9EKS2ldqr0MTrORaleiOno6TweZ6r3TKtoFQWay/2PceJ3RuBasOHzXNn5Lrw1X0bEjqA==",
- "dev": true,
- "requires": {
- "async-limiter": "~1.0.0"
- }
+ "version": "7.4.1",
+ "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.1.tgz",
+ "integrity": "sha512-pTsP8UAfhy3sk1lSk/O/s4tjD0CRwvMnzvwr4OKGX7ZvqZtUyx4KIJB5JWbkykPoc55tixMGgTNoh3k4FkNGFQ==",
+ "dev": true
},
"xtend": {
"version": "4.0.2",
@@ -9582,9 +10969,9 @@
"dev": true
},
"y18n": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz",
- "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==",
+ "version": "5.0.5",
+ "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.5.tgz",
+ "integrity": "sha512-hsRUr4FFrvhhRH12wOdfs38Gy7k2FFzB9qgN9v3aLykRq0dRcdcpz5C9FxdS2NuhOrI/628b/KSTJ3rwHysYSg==",
"dev": true
},
"yallist": {
@@ -9593,164 +10980,38 @@
"integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
"dev": true
},
+ "yaml": {
+ "version": "1.10.0",
+ "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.0.tgz",
+ "integrity": "sha512-yr2icI4glYaNG+KWONODapy2/jDdMSDnrONSjblABjD9B4Z5LgiircSt8m8sRZFNi08kG9Sm0uSHtEmP3zaEGg==",
+ "dev": true
+ },
"yargs": {
- "version": "15.4.1",
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz",
- "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==",
+ "version": "16.2.0",
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz",
+ "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==",
"dev": true,
"requires": {
- "cliui": "^6.0.0",
- "decamelize": "^1.2.0",
- "find-up": "^4.1.0",
- "get-caller-file": "^2.0.1",
+ "cliui": "^7.0.2",
+ "escalade": "^3.1.1",
+ "get-caller-file": "^2.0.5",
"require-directory": "^2.1.1",
- "require-main-filename": "^2.0.0",
- "set-blocking": "^2.0.0",
"string-width": "^4.2.0",
- "which-module": "^2.0.0",
- "y18n": "^4.0.0",
- "yargs-parser": "^18.1.2"
- },
- "dependencies": {
- "ansi-regex": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz",
- "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==",
- "dev": true
- },
- "ansi-styles": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
- "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
- "dev": true,
- "requires": {
- "color-convert": "^2.0.1"
- }
- },
- "cliui": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz",
- "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==",
- "dev": true,
- "requires": {
- "string-width": "^4.2.0",
- "strip-ansi": "^6.0.0",
- "wrap-ansi": "^6.2.0"
- }
- },
- "color-convert": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
- "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
- "dev": true,
- "requires": {
- "color-name": "~1.1.4"
- }
- },
- "color-name": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
- "dev": true
- },
- "emoji-regex": {
- "version": "8.0.0",
- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
- "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
- "dev": true
- },
- "find-up": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
- "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
- "dev": true,
- "requires": {
- "locate-path": "^5.0.0",
- "path-exists": "^4.0.0"
- }
- },
- "is-fullwidth-code-point": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
- "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
- "dev": true
- },
- "locate-path": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
- "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
- "dev": true,
- "requires": {
- "p-locate": "^4.1.0"
- }
- },
- "p-locate": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
- "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
- "dev": true,
- "requires": {
- "p-limit": "^2.2.0"
- }
- },
- "path-exists": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
- "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
- "dev": true
- },
- "string-width": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz",
- "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==",
- "dev": true,
- "requires": {
- "emoji-regex": "^8.0.0",
- "is-fullwidth-code-point": "^3.0.0",
- "strip-ansi": "^6.0.0"
- }
- },
- "strip-ansi": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz",
- "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==",
- "dev": true,
- "requires": {
- "ansi-regex": "^5.0.0"
- }
- },
- "wrap-ansi": {
- "version": "6.2.0",
- "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz",
- "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==",
- "dev": true,
- "requires": {
- "ansi-styles": "^4.0.0",
- "string-width": "^4.1.0",
- "strip-ansi": "^6.0.0"
- }
- },
- "yargs-parser": {
- "version": "18.1.3",
- "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz",
- "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==",
- "dev": true,
- "requires": {
- "camelcase": "^5.0.0",
- "decamelize": "^1.2.0"
- }
- }
+ "y18n": "^5.0.5",
+ "yargs-parser": "^20.2.2"
}
},
"yargs-parser": {
- "version": "13.1.2",
- "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz",
- "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==",
- "dev": true,
- "requires": {
- "camelcase": "^5.0.0",
- "decamelize": "^1.2.0"
- }
+ "version": "20.2.4",
+ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz",
+ "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==",
+ "dev": true
+ },
+ "yocto-queue": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz",
+ "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==",
+ "dev": true
}
}
}
diff --git a/package.json b/package.json
index 4058b52..996ce1b 100644
--- a/package.json
+++ b/package.json
@@ -1,25 +1,26 @@
{
"private": true,
"scripts": {
- "dev": "npm run development",
- "development": "cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js",
- "watch": "npm run development -- --watch",
- "watch-poll": "npm run watch -- --watch-poll",
+ "development": "mix",
"hot": "cross-env NODE_ENV=development node_modules/webpack-dev-server/bin/webpack-dev-server.js --inline --hot --config=node_modules/laravel-mix/setup/webpack.config.js",
"prod": "npm run production",
- "production": "cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --no-progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js"
+ "production": "mix --production",
+ "start": "mix watch",
+ "watch-poll": "mix watch -- --watch-options-poll=1000",
+ "watch": "mix watch"
},
"devDependencies": {
"@fortawesome/fontawesome-pro": "5.15.1",
- "axios": "0.20.0",
- "bootstrap": "4.5.3",
- "cross-env": "7.0.2",
- "jquery": "3.5.1",
- "laravel-mix": "5.0.7",
+ "alpinejs": "2.8.0",
+ "axios": "0.21.1",
+ "bootstrap": "5.0.0-beta1",
+ "cross-env": "7.0.3",
+ "easymde": "2.13.0",
+ "laravel-mix": "6.0.5",
"lodash": "4.17.20",
- "popper.js": "1.16.1",
- "sass": "1.27.0",
- "sass-loader": "10.0.3",
+ "postcss": "8.2.1",
+ "sass": "1.30.0",
+ "sass-loader": "10.1.0",
"vue-template-compiler": "2.6.12"
}
}
diff --git a/public/css/admin.css b/public/css/admin.css
new file mode 100644
index 0000000..4484fa8
--- /dev/null
+++ b/public/css/admin.css
@@ -0,0 +1,12425 @@
+@charset "UTF-8";
+/*
+ * Scouts & Gidsen Bree (c) 2014-2020
+ * Licensed under AGPL
+ */
+/*!
+ * Bootstrap v5.0.0-beta1 (https://getbootstrap.com/)
+ * Copyright 2011-2020 The Bootstrap Authors
+ * Copyright 2011-2020 Twitter, Inc.
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
+ */
+:root {
+ --bs-blue: #0467c4;
+ --bs-indigo: #6574cd;
+ --bs-purple: #9561e2;
+ --bs-pink: #e52262;
+ --bs-red: #e74018;
+ --bs-orange: #fb8009;
+ --bs-yellow: #ffc000;
+ --bs-green: #97c800;
+ --bs-teal: #10b08f;
+ --bs-cyan: #0098df;
+ --bs-white: #fff;
+ --bs-gray: #6c757d;
+ --bs-gray-dark: #343a40;
+ --bs-primary: #005dc5;
+ --bs-secondary: #ffc000;
+ --bs-success: #97c800;
+ --bs-info: #0098df;
+ --bs-warning: #ffc000;
+ --bs-danger: #e74018;
+ --bs-light: #f8f9fa;
+ --bs-dark: #333;
+ --bs-font-sans-serif: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
+ --bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
+ --bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));
+}
+
+*,
+*::before,
+*::after {
+ box-sizing: border-box;
+}
+
+@media (prefers-reduced-motion: no-preference) {
+ :root {
+ scroll-behavior: smooth;
+ }
+}
+
+body {
+ margin: 0;
+ font-family: var(--bs-font-sans-serif);
+ font-size: 1rem;
+ font-weight: 400;
+ line-height: 1.5;
+ color: #212529;
+ background-color: #fff;
+ -webkit-text-size-adjust: 100%;
+ -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
+}
+
+[tabindex="-1"]:focus:not(:focus-visible) {
+ outline: 0 !important;
+}
+
+hr {
+ margin: 1rem 0;
+ color: inherit;
+ background-color: currentColor;
+ border: 0;
+ opacity: 0.25;
+}
+
+hr:not([size]) {
+ height: 1px;
+}
+
+h6, .h6, h5, .h5, h4, .h4, h3, .h3, h2, .h2, h1, .h1 {
+ margin-top: 0;
+ margin-bottom: 0.5rem;
+ font-weight: 600;
+ line-height: 1.2;
+}
+
+h1, .h1 {
+ font-size: calc(1.375rem + 1.5vw);
+}
+@media (min-width: 1200px) {
+ h1, .h1 {
+ font-size: 2.5rem;
+ }
+}
+
+h2, .h2 {
+ font-size: calc(1.325rem + 0.9vw);
+}
+@media (min-width: 1200px) {
+ h2, .h2 {
+ font-size: 2rem;
+ }
+}
+
+h3, .h3 {
+ font-size: calc(1.3rem + 0.6vw);
+}
+@media (min-width: 1200px) {
+ h3, .h3 {
+ font-size: 1.75rem;
+ }
+}
+
+h4, .h4 {
+ font-size: calc(1.275rem + 0.3vw);
+}
+@media (min-width: 1200px) {
+ h4, .h4 {
+ font-size: 1.5rem;
+ }
+}
+
+h5, .h5 {
+ font-size: 1.25rem;
+}
+
+h6, .h6 {
+ font-size: 1rem;
+}
+
+p {
+ margin-top: 0;
+ margin-bottom: 1rem;
+}
+
+abbr[title],
+abbr[data-bs-original-title] {
+ text-decoration: underline;
+ -webkit-text-decoration: underline dotted;
+ text-decoration: underline dotted;
+ cursor: help;
+ -webkit-text-decoration-skip-ink: none;
+ text-decoration-skip-ink: none;
+}
+
+address {
+ margin-bottom: 1rem;
+ font-style: normal;
+ line-height: inherit;
+}
+
+ol,
+ul {
+ padding-left: 2rem;
+}
+
+ol,
+ul,
+dl {
+ margin-top: 0;
+ margin-bottom: 1rem;
+}
+
+ol ol,
+ul ul,
+ol ul,
+ul ol {
+ margin-bottom: 0;
+}
+
+dt {
+ font-weight: 700;
+}
+
+dd {
+ margin-bottom: 0.5rem;
+ margin-left: 0;
+}
+
+blockquote {
+ margin: 0 0 1rem;
+}
+
+b,
+strong {
+ font-weight: bolder;
+}
+
+small, .small {
+ font-size: 0.875em;
+}
+
+mark, .mark {
+ padding: 0.2em;
+ background-color: #fcf8e3;
+}
+
+sub,
+sup {
+ position: relative;
+ font-size: 0.75em;
+ line-height: 0;
+ vertical-align: baseline;
+}
+
+sub {
+ bottom: -0.25em;
+}
+
+sup {
+ top: -0.5em;
+}
+
+a {
+ color: #005dc5;
+ text-decoration: none;
+}
+a:hover {
+ color: #004a9e;
+}
+
+a:not([href]):not([class]), a:not([href]):not([class]):hover {
+ color: inherit;
+ text-decoration: none;
+}
+
+pre,
+code,
+kbd,
+samp {
+ font-family: var(--bs-font-monospace);
+ font-size: 1em;
+ direction: ltr /* rtl:ignore */;
+ unicode-bidi: bidi-override;
+}
+
+pre {
+ display: block;
+ margin-top: 0;
+ margin-bottom: 1rem;
+ overflow: auto;
+ font-size: 0.875em;
+}
+pre code {
+ font-size: inherit;
+ color: inherit;
+ word-break: normal;
+}
+
+code {
+ font-size: 0.875em;
+ color: #e52262;
+ word-wrap: break-word;
+}
+a > code {
+ color: inherit;
+}
+
+kbd {
+ padding: 0.2rem 0.4rem;
+ font-size: 0.875em;
+ color: #fff;
+ background-color: #212529;
+ border-radius: 0.2rem;
+}
+kbd kbd {
+ padding: 0;
+ font-size: 1em;
+ font-weight: 700;
+}
+
+figure {
+ margin: 0 0 1rem;
+}
+
+img,
+svg {
+ vertical-align: middle;
+}
+
+table {
+ caption-side: bottom;
+ border-collapse: collapse;
+}
+
+caption {
+ padding-top: 0.5rem;
+ padding-bottom: 0.5rem;
+ color: #6c757d;
+ text-align: left;
+}
+
+th {
+ text-align: inherit;
+ text-align: -webkit-match-parent;
+}
+
+thead,
+tbody,
+tfoot,
+tr,
+td,
+th {
+ border-color: inherit;
+ border-style: solid;
+ border-width: 0;
+}
+
+label {
+ display: inline-block;
+}
+
+button {
+ border-radius: 0;
+}
+
+button:focus {
+ outline: dotted 1px;
+ outline: -webkit-focus-ring-color auto 5px;
+}
+
+input,
+button,
+select,
+optgroup,
+textarea {
+ margin: 0;
+ font-family: inherit;
+ font-size: inherit;
+ line-height: inherit;
+}
+
+button,
+select {
+ text-transform: none;
+}
+
+[role=button] {
+ cursor: pointer;
+}
+
+select {
+ word-wrap: normal;
+}
+
+[list]::-webkit-calendar-picker-indicator {
+ display: none;
+}
+
+button,
+[type=button],
+[type=reset],
+[type=submit] {
+ -webkit-appearance: button;
+}
+button:not(:disabled),
+[type=button]:not(:disabled),
+[type=reset]:not(:disabled),
+[type=submit]:not(:disabled) {
+ cursor: pointer;
+}
+
+::-moz-focus-inner {
+ padding: 0;
+ border-style: none;
+}
+
+textarea {
+ resize: vertical;
+}
+
+fieldset {
+ min-width: 0;
+ padding: 0;
+ margin: 0;
+ border: 0;
+}
+
+legend {
+ float: left;
+ width: 100%;
+ padding: 0;
+ margin-bottom: 0.5rem;
+ font-size: calc(1.275rem + 0.3vw);
+ line-height: inherit;
+}
+@media (min-width: 1200px) {
+ legend {
+ font-size: 1.5rem;
+ }
+}
+legend + * {
+ clear: left;
+}
+
+::-webkit-datetime-edit-fields-wrapper,
+::-webkit-datetime-edit-text,
+::-webkit-datetime-edit-minute,
+::-webkit-datetime-edit-hour-field,
+::-webkit-datetime-edit-day-field,
+::-webkit-datetime-edit-month-field,
+::-webkit-datetime-edit-year-field {
+ padding: 0;
+}
+
+::-webkit-inner-spin-button {
+ height: auto;
+}
+
+[type=search] {
+ outline-offset: -2px;
+ -webkit-appearance: textfield;
+}
+
+/* rtl:raw:
+[type="tel"],
+[type="url"],
+[type="email"],
+[type="number"] {
+ direction: ltr;
+}
+*/
+::-webkit-search-decoration {
+ -webkit-appearance: none;
+}
+
+::-webkit-color-swatch-wrapper {
+ padding: 0;
+}
+
+::file-selector-button {
+ font: inherit;
+}
+
+::-webkit-file-upload-button {
+ font: inherit;
+ -webkit-appearance: button;
+}
+
+output {
+ display: inline-block;
+}
+
+iframe {
+ border: 0;
+}
+
+summary {
+ display: list-item;
+ cursor: pointer;
+}
+
+progress {
+ vertical-align: baseline;
+}
+
+[hidden] {
+ display: none !important;
+}
+
+.lead {
+ font-size: 1.25rem;
+ font-weight: 600;
+}
+
+.display-1 {
+ font-size: calc(1.625rem + 4.5vw);
+ font-weight: 300;
+ line-height: 1.2;
+}
+@media (min-width: 1200px) {
+ .display-1 {
+ font-size: 5rem;
+ }
+}
+
+.display-2 {
+ font-size: calc(1.575rem + 3.9vw);
+ font-weight: 300;
+ line-height: 1.2;
+}
+@media (min-width: 1200px) {
+ .display-2 {
+ font-size: 4.5rem;
+ }
+}
+
+.display-3 {
+ font-size: calc(1.525rem + 3.3vw);
+ font-weight: 300;
+ line-height: 1.2;
+}
+@media (min-width: 1200px) {
+ .display-3 {
+ font-size: 4rem;
+ }
+}
+
+.display-4 {
+ font-size: calc(1.475rem + 2.7vw);
+ font-weight: 300;
+ line-height: 1.2;
+}
+@media (min-width: 1200px) {
+ .display-4 {
+ font-size: 3.5rem;
+ }
+}
+
+.display-5 {
+ font-size: calc(1.425rem + 2.1vw);
+ font-weight: 300;
+ line-height: 1.2;
+}
+@media (min-width: 1200px) {
+ .display-5 {
+ font-size: 3rem;
+ }
+}
+
+.display-6 {
+ font-size: calc(1.375rem + 1.5vw);
+ font-weight: 300;
+ line-height: 1.2;
+}
+@media (min-width: 1200px) {
+ .display-6 {
+ font-size: 2.5rem;
+ }
+}
+
+.list-unstyled {
+ padding-left: 0;
+ list-style: none;
+}
+
+.list-inline {
+ padding-left: 0;
+ list-style: none;
+}
+
+.list-inline-item {
+ display: inline-block;
+}
+.list-inline-item:not(:last-child) {
+ margin-right: 0.5rem;
+}
+
+.initialism {
+ font-size: 0.875em;
+ text-transform: uppercase;
+}
+
+.blockquote {
+ margin-bottom: 1rem;
+ font-size: 1.25rem;
+}
+.blockquote > :last-child {
+ margin-bottom: 0;
+}
+
+.blockquote-footer {
+ margin-top: -1rem;
+ margin-bottom: 1rem;
+ font-size: 0.875em;
+ color: #6c757d;
+}
+.blockquote-footer::before {
+ content: "— ";
+}
+
+.img-fluid {
+ max-width: 100%;
+ height: auto;
+}
+
+.img-thumbnail {
+ padding: 0.25rem;
+ background-color: #fff;
+ border: 1px solid #dee2e6;
+ border-radius: 0.25rem;
+ max-width: 100%;
+ height: auto;
+}
+
+.figure {
+ display: inline-block;
+}
+
+.figure-img {
+ margin-bottom: 0.5rem;
+ line-height: 1;
+}
+
+.figure-caption {
+ font-size: 0.875em;
+ color: #6c757d;
+}
+
+.container,
+.container-fluid,
+.container-xxl,
+.container-xl,
+.container-lg,
+.container-md,
+.container-sm {
+ width: 100%;
+ padding-right: var(--bs-gutter-x, 0);
+ padding-left: var(--bs-gutter-x, 0);
+ margin-right: auto;
+ margin-left: auto;
+}
+
+@media (min-width: 576px) {
+ .container-sm, .container {
+ max-width: 540px;
+ }
+}
+@media (min-width: 768px) {
+ .container-md, .container-sm, .container {
+ max-width: 720px;
+ }
+}
+@media (min-width: 992px) {
+ .container-lg, .container-md, .container-sm, .container {
+ max-width: 960px;
+ }
+}
+@media (min-width: 1200px) {
+ .container-xl, .container-lg, .container-md, .container-sm, .container {
+ max-width: 1140px;
+ }
+}
+@media (min-width: 1400px) {
+ .container-xxl, .container-xl, .container-lg, .container-md, .container-sm, .container {
+ max-width: 1320px;
+ }
+}
+.row {
+ --bs-gutter-x: 1rem;
+ --bs-gutter-y: 0;
+ display: flex;
+ flex-wrap: wrap;
+ margin-top: calc(var(--bs-gutter-y) * -1);
+ margin-right: calc(var(--bs-gutter-x) / -2);
+ margin-left: calc(var(--bs-gutter-x) / -2);
+}
+.row > * {
+ flex-shrink: 0;
+ width: 100%;
+ max-width: 100%;
+ padding-right: calc(var(--bs-gutter-x) / 2);
+ padding-left: calc(var(--bs-gutter-x) / 2);
+ margin-top: var(--bs-gutter-y);
+}
+
+.col {
+ flex: 1 0 0%;
+}
+
+.row-cols-auto > * {
+ flex: 0 0 auto;
+ width: auto;
+}
+
+.row-cols-1 > * {
+ flex: 0 0 auto;
+ width: 100%;
+}
+
+.row-cols-2 > * {
+ flex: 0 0 auto;
+ width: 50%;
+}
+
+.row-cols-3 > * {
+ flex: 0 0 auto;
+ width: 33.3333333333%;
+}
+
+.row-cols-4 > * {
+ flex: 0 0 auto;
+ width: 25%;
+}
+
+.row-cols-5 > * {
+ flex: 0 0 auto;
+ width: 20%;
+}
+
+.row-cols-6 > * {
+ flex: 0 0 auto;
+ width: 16.6666666667%;
+}
+
+.col-auto {
+ flex: 0 0 auto;
+ width: auto;
+}
+
+.col-1 {
+ flex: 0 0 auto;
+ width: 8.3333333333%;
+}
+
+.col-2 {
+ flex: 0 0 auto;
+ width: 16.6666666667%;
+}
+
+.col-3 {
+ flex: 0 0 auto;
+ width: 25%;
+}
+
+.col-4 {
+ flex: 0 0 auto;
+ width: 33.3333333333%;
+}
+
+.col-5 {
+ flex: 0 0 auto;
+ width: 41.6666666667%;
+}
+
+.col-6 {
+ flex: 0 0 auto;
+ width: 50%;
+}
+
+.col-7 {
+ flex: 0 0 auto;
+ width: 58.3333333333%;
+}
+
+.col-8 {
+ flex: 0 0 auto;
+ width: 66.6666666667%;
+}
+
+.col-9 {
+ flex: 0 0 auto;
+ width: 75%;
+}
+
+.col-10 {
+ flex: 0 0 auto;
+ width: 83.3333333333%;
+}
+
+.col-11 {
+ flex: 0 0 auto;
+ width: 91.6666666667%;
+}
+
+.col-12 {
+ flex: 0 0 auto;
+ width: 100%;
+}
+
+.offset-1 {
+ margin-left: 8.3333333333%;
+}
+
+.offset-2 {
+ margin-left: 16.6666666667%;
+}
+
+.offset-3 {
+ margin-left: 25%;
+}
+
+.offset-4 {
+ margin-left: 33.3333333333%;
+}
+
+.offset-5 {
+ margin-left: 41.6666666667%;
+}
+
+.offset-6 {
+ margin-left: 50%;
+}
+
+.offset-7 {
+ margin-left: 58.3333333333%;
+}
+
+.offset-8 {
+ margin-left: 66.6666666667%;
+}
+
+.offset-9 {
+ margin-left: 75%;
+}
+
+.offset-10 {
+ margin-left: 83.3333333333%;
+}
+
+.offset-11 {
+ margin-left: 91.6666666667%;
+}
+
+.g-0,
+.gx-0 {
+ --bs-gutter-x: 0;
+}
+
+.g-0,
+.gy-0 {
+ --bs-gutter-y: 0;
+}
+
+.g-1,
+.gx-1 {
+ --bs-gutter-x: 0.25rem;
+}
+
+.g-1,
+.gy-1 {
+ --bs-gutter-y: 0.25rem;
+}
+
+.g-2,
+.gx-2 {
+ --bs-gutter-x: 0.5rem;
+}
+
+.g-2,
+.gy-2 {
+ --bs-gutter-y: 0.5rem;
+}
+
+.g-3,
+.gx-3 {
+ --bs-gutter-x: 1rem;
+}
+
+.g-3,
+.gy-3 {
+ --bs-gutter-y: 1rem;
+}
+
+.g-4,
+.gx-4 {
+ --bs-gutter-x: 1.5rem;
+}
+
+.g-4,
+.gy-4 {
+ --bs-gutter-y: 1.5rem;
+}
+
+.g-5,
+.gx-5 {
+ --bs-gutter-x: 3rem;
+}
+
+.g-5,
+.gy-5 {
+ --bs-gutter-y: 3rem;
+}
+
+@media (min-width: 576px) {
+ .col-sm {
+ flex: 1 0 0%;
+ }
+
+ .row-cols-sm-auto > * {
+ flex: 0 0 auto;
+ width: auto;
+ }
+
+ .row-cols-sm-1 > * {
+ flex: 0 0 auto;
+ width: 100%;
+ }
+
+ .row-cols-sm-2 > * {
+ flex: 0 0 auto;
+ width: 50%;
+ }
+
+ .row-cols-sm-3 > * {
+ flex: 0 0 auto;
+ width: 33.3333333333%;
+ }
+
+ .row-cols-sm-4 > * {
+ flex: 0 0 auto;
+ width: 25%;
+ }
+
+ .row-cols-sm-5 > * {
+ flex: 0 0 auto;
+ width: 20%;
+ }
+
+ .row-cols-sm-6 > * {
+ flex: 0 0 auto;
+ width: 16.6666666667%;
+ }
+
+ .col-sm-auto {
+ flex: 0 0 auto;
+ width: auto;
+ }
+
+ .col-sm-1 {
+ flex: 0 0 auto;
+ width: 8.3333333333%;
+ }
+
+ .col-sm-2 {
+ flex: 0 0 auto;
+ width: 16.6666666667%;
+ }
+
+ .col-sm-3 {
+ flex: 0 0 auto;
+ width: 25%;
+ }
+
+ .col-sm-4 {
+ flex: 0 0 auto;
+ width: 33.3333333333%;
+ }
+
+ .col-sm-5 {
+ flex: 0 0 auto;
+ width: 41.6666666667%;
+ }
+
+ .col-sm-6 {
+ flex: 0 0 auto;
+ width: 50%;
+ }
+
+ .col-sm-7 {
+ flex: 0 0 auto;
+ width: 58.3333333333%;
+ }
+
+ .col-sm-8 {
+ flex: 0 0 auto;
+ width: 66.6666666667%;
+ }
+
+ .col-sm-9 {
+ flex: 0 0 auto;
+ width: 75%;
+ }
+
+ .col-sm-10 {
+ flex: 0 0 auto;
+ width: 83.3333333333%;
+ }
+
+ .col-sm-11 {
+ flex: 0 0 auto;
+ width: 91.6666666667%;
+ }
+
+ .col-sm-12 {
+ flex: 0 0 auto;
+ width: 100%;
+ }
+
+ .offset-sm-0 {
+ margin-left: 0;
+ }
+
+ .offset-sm-1 {
+ margin-left: 8.3333333333%;
+ }
+
+ .offset-sm-2 {
+ margin-left: 16.6666666667%;
+ }
+
+ .offset-sm-3 {
+ margin-left: 25%;
+ }
+
+ .offset-sm-4 {
+ margin-left: 33.3333333333%;
+ }
+
+ .offset-sm-5 {
+ margin-left: 41.6666666667%;
+ }
+
+ .offset-sm-6 {
+ margin-left: 50%;
+ }
+
+ .offset-sm-7 {
+ margin-left: 58.3333333333%;
+ }
+
+ .offset-sm-8 {
+ margin-left: 66.6666666667%;
+ }
+
+ .offset-sm-9 {
+ margin-left: 75%;
+ }
+
+ .offset-sm-10 {
+ margin-left: 83.3333333333%;
+ }
+
+ .offset-sm-11 {
+ margin-left: 91.6666666667%;
+ }
+
+ .g-sm-0,
+.gx-sm-0 {
+ --bs-gutter-x: 0;
+ }
+
+ .g-sm-0,
+.gy-sm-0 {
+ --bs-gutter-y: 0;
+ }
+
+ .g-sm-1,
+.gx-sm-1 {
+ --bs-gutter-x: 0.25rem;
+ }
+
+ .g-sm-1,
+.gy-sm-1 {
+ --bs-gutter-y: 0.25rem;
+ }
+
+ .g-sm-2,
+.gx-sm-2 {
+ --bs-gutter-x: 0.5rem;
+ }
+
+ .g-sm-2,
+.gy-sm-2 {
+ --bs-gutter-y: 0.5rem;
+ }
+
+ .g-sm-3,
+.gx-sm-3 {
+ --bs-gutter-x: 1rem;
+ }
+
+ .g-sm-3,
+.gy-sm-3 {
+ --bs-gutter-y: 1rem;
+ }
+
+ .g-sm-4,
+.gx-sm-4 {
+ --bs-gutter-x: 1.5rem;
+ }
+
+ .g-sm-4,
+.gy-sm-4 {
+ --bs-gutter-y: 1.5rem;
+ }
+
+ .g-sm-5,
+.gx-sm-5 {
+ --bs-gutter-x: 3rem;
+ }
+
+ .g-sm-5,
+.gy-sm-5 {
+ --bs-gutter-y: 3rem;
+ }
+}
+@media (min-width: 768px) {
+ .col-md {
+ flex: 1 0 0%;
+ }
+
+ .row-cols-md-auto > * {
+ flex: 0 0 auto;
+ width: auto;
+ }
+
+ .row-cols-md-1 > * {
+ flex: 0 0 auto;
+ width: 100%;
+ }
+
+ .row-cols-md-2 > * {
+ flex: 0 0 auto;
+ width: 50%;
+ }
+
+ .row-cols-md-3 > * {
+ flex: 0 0 auto;
+ width: 33.3333333333%;
+ }
+
+ .row-cols-md-4 > * {
+ flex: 0 0 auto;
+ width: 25%;
+ }
+
+ .row-cols-md-5 > * {
+ flex: 0 0 auto;
+ width: 20%;
+ }
+
+ .row-cols-md-6 > * {
+ flex: 0 0 auto;
+ width: 16.6666666667%;
+ }
+
+ .col-md-auto {
+ flex: 0 0 auto;
+ width: auto;
+ }
+
+ .col-md-1 {
+ flex: 0 0 auto;
+ width: 8.3333333333%;
+ }
+
+ .col-md-2 {
+ flex: 0 0 auto;
+ width: 16.6666666667%;
+ }
+
+ .col-md-3 {
+ flex: 0 0 auto;
+ width: 25%;
+ }
+
+ .col-md-4 {
+ flex: 0 0 auto;
+ width: 33.3333333333%;
+ }
+
+ .col-md-5 {
+ flex: 0 0 auto;
+ width: 41.6666666667%;
+ }
+
+ .col-md-6 {
+ flex: 0 0 auto;
+ width: 50%;
+ }
+
+ .col-md-7 {
+ flex: 0 0 auto;
+ width: 58.3333333333%;
+ }
+
+ .col-md-8 {
+ flex: 0 0 auto;
+ width: 66.6666666667%;
+ }
+
+ .col-md-9 {
+ flex: 0 0 auto;
+ width: 75%;
+ }
+
+ .col-md-10 {
+ flex: 0 0 auto;
+ width: 83.3333333333%;
+ }
+
+ .col-md-11 {
+ flex: 0 0 auto;
+ width: 91.6666666667%;
+ }
+
+ .col-md-12 {
+ flex: 0 0 auto;
+ width: 100%;
+ }
+
+ .offset-md-0 {
+ margin-left: 0;
+ }
+
+ .offset-md-1 {
+ margin-left: 8.3333333333%;
+ }
+
+ .offset-md-2 {
+ margin-left: 16.6666666667%;
+ }
+
+ .offset-md-3 {
+ margin-left: 25%;
+ }
+
+ .offset-md-4 {
+ margin-left: 33.3333333333%;
+ }
+
+ .offset-md-5 {
+ margin-left: 41.6666666667%;
+ }
+
+ .offset-md-6 {
+ margin-left: 50%;
+ }
+
+ .offset-md-7 {
+ margin-left: 58.3333333333%;
+ }
+
+ .offset-md-8 {
+ margin-left: 66.6666666667%;
+ }
+
+ .offset-md-9 {
+ margin-left: 75%;
+ }
+
+ .offset-md-10 {
+ margin-left: 83.3333333333%;
+ }
+
+ .offset-md-11 {
+ margin-left: 91.6666666667%;
+ }
+
+ .g-md-0,
+.gx-md-0 {
+ --bs-gutter-x: 0;
+ }
+
+ .g-md-0,
+.gy-md-0 {
+ --bs-gutter-y: 0;
+ }
+
+ .g-md-1,
+.gx-md-1 {
+ --bs-gutter-x: 0.25rem;
+ }
+
+ .g-md-1,
+.gy-md-1 {
+ --bs-gutter-y: 0.25rem;
+ }
+
+ .g-md-2,
+.gx-md-2 {
+ --bs-gutter-x: 0.5rem;
+ }
+
+ .g-md-2,
+.gy-md-2 {
+ --bs-gutter-y: 0.5rem;
+ }
+
+ .g-md-3,
+.gx-md-3 {
+ --bs-gutter-x: 1rem;
+ }
+
+ .g-md-3,
+.gy-md-3 {
+ --bs-gutter-y: 1rem;
+ }
+
+ .g-md-4,
+.gx-md-4 {
+ --bs-gutter-x: 1.5rem;
+ }
+
+ .g-md-4,
+.gy-md-4 {
+ --bs-gutter-y: 1.5rem;
+ }
+
+ .g-md-5,
+.gx-md-5 {
+ --bs-gutter-x: 3rem;
+ }
+
+ .g-md-5,
+.gy-md-5 {
+ --bs-gutter-y: 3rem;
+ }
+}
+@media (min-width: 992px) {
+ .col-lg {
+ flex: 1 0 0%;
+ }
+
+ .row-cols-lg-auto > * {
+ flex: 0 0 auto;
+ width: auto;
+ }
+
+ .row-cols-lg-1 > * {
+ flex: 0 0 auto;
+ width: 100%;
+ }
+
+ .row-cols-lg-2 > * {
+ flex: 0 0 auto;
+ width: 50%;
+ }
+
+ .row-cols-lg-3 > * {
+ flex: 0 0 auto;
+ width: 33.3333333333%;
+ }
+
+ .row-cols-lg-4 > * {
+ flex: 0 0 auto;
+ width: 25%;
+ }
+
+ .row-cols-lg-5 > * {
+ flex: 0 0 auto;
+ width: 20%;
+ }
+
+ .row-cols-lg-6 > * {
+ flex: 0 0 auto;
+ width: 16.6666666667%;
+ }
+
+ .col-lg-auto {
+ flex: 0 0 auto;
+ width: auto;
+ }
+
+ .col-lg-1 {
+ flex: 0 0 auto;
+ width: 8.3333333333%;
+ }
+
+ .col-lg-2 {
+ flex: 0 0 auto;
+ width: 16.6666666667%;
+ }
+
+ .col-lg-3 {
+ flex: 0 0 auto;
+ width: 25%;
+ }
+
+ .col-lg-4 {
+ flex: 0 0 auto;
+ width: 33.3333333333%;
+ }
+
+ .col-lg-5 {
+ flex: 0 0 auto;
+ width: 41.6666666667%;
+ }
+
+ .col-lg-6 {
+ flex: 0 0 auto;
+ width: 50%;
+ }
+
+ .col-lg-7 {
+ flex: 0 0 auto;
+ width: 58.3333333333%;
+ }
+
+ .col-lg-8 {
+ flex: 0 0 auto;
+ width: 66.6666666667%;
+ }
+
+ .col-lg-9 {
+ flex: 0 0 auto;
+ width: 75%;
+ }
+
+ .col-lg-10 {
+ flex: 0 0 auto;
+ width: 83.3333333333%;
+ }
+
+ .col-lg-11 {
+ flex: 0 0 auto;
+ width: 91.6666666667%;
+ }
+
+ .col-lg-12 {
+ flex: 0 0 auto;
+ width: 100%;
+ }
+
+ .offset-lg-0 {
+ margin-left: 0;
+ }
+
+ .offset-lg-1 {
+ margin-left: 8.3333333333%;
+ }
+
+ .offset-lg-2 {
+ margin-left: 16.6666666667%;
+ }
+
+ .offset-lg-3 {
+ margin-left: 25%;
+ }
+
+ .offset-lg-4 {
+ margin-left: 33.3333333333%;
+ }
+
+ .offset-lg-5 {
+ margin-left: 41.6666666667%;
+ }
+
+ .offset-lg-6 {
+ margin-left: 50%;
+ }
+
+ .offset-lg-7 {
+ margin-left: 58.3333333333%;
+ }
+
+ .offset-lg-8 {
+ margin-left: 66.6666666667%;
+ }
+
+ .offset-lg-9 {
+ margin-left: 75%;
+ }
+
+ .offset-lg-10 {
+ margin-left: 83.3333333333%;
+ }
+
+ .offset-lg-11 {
+ margin-left: 91.6666666667%;
+ }
+
+ .g-lg-0,
+.gx-lg-0 {
+ --bs-gutter-x: 0;
+ }
+
+ .g-lg-0,
+.gy-lg-0 {
+ --bs-gutter-y: 0;
+ }
+
+ .g-lg-1,
+.gx-lg-1 {
+ --bs-gutter-x: 0.25rem;
+ }
+
+ .g-lg-1,
+.gy-lg-1 {
+ --bs-gutter-y: 0.25rem;
+ }
+
+ .g-lg-2,
+.gx-lg-2 {
+ --bs-gutter-x: 0.5rem;
+ }
+
+ .g-lg-2,
+.gy-lg-2 {
+ --bs-gutter-y: 0.5rem;
+ }
+
+ .g-lg-3,
+.gx-lg-3 {
+ --bs-gutter-x: 1rem;
+ }
+
+ .g-lg-3,
+.gy-lg-3 {
+ --bs-gutter-y: 1rem;
+ }
+
+ .g-lg-4,
+.gx-lg-4 {
+ --bs-gutter-x: 1.5rem;
+ }
+
+ .g-lg-4,
+.gy-lg-4 {
+ --bs-gutter-y: 1.5rem;
+ }
+
+ .g-lg-5,
+.gx-lg-5 {
+ --bs-gutter-x: 3rem;
+ }
+
+ .g-lg-5,
+.gy-lg-5 {
+ --bs-gutter-y: 3rem;
+ }
+}
+@media (min-width: 1200px) {
+ .col-xl {
+ flex: 1 0 0%;
+ }
+
+ .row-cols-xl-auto > * {
+ flex: 0 0 auto;
+ width: auto;
+ }
+
+ .row-cols-xl-1 > * {
+ flex: 0 0 auto;
+ width: 100%;
+ }
+
+ .row-cols-xl-2 > * {
+ flex: 0 0 auto;
+ width: 50%;
+ }
+
+ .row-cols-xl-3 > * {
+ flex: 0 0 auto;
+ width: 33.3333333333%;
+ }
+
+ .row-cols-xl-4 > * {
+ flex: 0 0 auto;
+ width: 25%;
+ }
+
+ .row-cols-xl-5 > * {
+ flex: 0 0 auto;
+ width: 20%;
+ }
+
+ .row-cols-xl-6 > * {
+ flex: 0 0 auto;
+ width: 16.6666666667%;
+ }
+
+ .col-xl-auto {
+ flex: 0 0 auto;
+ width: auto;
+ }
+
+ .col-xl-1 {
+ flex: 0 0 auto;
+ width: 8.3333333333%;
+ }
+
+ .col-xl-2 {
+ flex: 0 0 auto;
+ width: 16.6666666667%;
+ }
+
+ .col-xl-3 {
+ flex: 0 0 auto;
+ width: 25%;
+ }
+
+ .col-xl-4 {
+ flex: 0 0 auto;
+ width: 33.3333333333%;
+ }
+
+ .col-xl-5 {
+ flex: 0 0 auto;
+ width: 41.6666666667%;
+ }
+
+ .col-xl-6 {
+ flex: 0 0 auto;
+ width: 50%;
+ }
+
+ .col-xl-7 {
+ flex: 0 0 auto;
+ width: 58.3333333333%;
+ }
+
+ .col-xl-8 {
+ flex: 0 0 auto;
+ width: 66.6666666667%;
+ }
+
+ .col-xl-9 {
+ flex: 0 0 auto;
+ width: 75%;
+ }
+
+ .col-xl-10 {
+ flex: 0 0 auto;
+ width: 83.3333333333%;
+ }
+
+ .col-xl-11 {
+ flex: 0 0 auto;
+ width: 91.6666666667%;
+ }
+
+ .col-xl-12 {
+ flex: 0 0 auto;
+ width: 100%;
+ }
+
+ .offset-xl-0 {
+ margin-left: 0;
+ }
+
+ .offset-xl-1 {
+ margin-left: 8.3333333333%;
+ }
+
+ .offset-xl-2 {
+ margin-left: 16.6666666667%;
+ }
+
+ .offset-xl-3 {
+ margin-left: 25%;
+ }
+
+ .offset-xl-4 {
+ margin-left: 33.3333333333%;
+ }
+
+ .offset-xl-5 {
+ margin-left: 41.6666666667%;
+ }
+
+ .offset-xl-6 {
+ margin-left: 50%;
+ }
+
+ .offset-xl-7 {
+ margin-left: 58.3333333333%;
+ }
+
+ .offset-xl-8 {
+ margin-left: 66.6666666667%;
+ }
+
+ .offset-xl-9 {
+ margin-left: 75%;
+ }
+
+ .offset-xl-10 {
+ margin-left: 83.3333333333%;
+ }
+
+ .offset-xl-11 {
+ margin-left: 91.6666666667%;
+ }
+
+ .g-xl-0,
+.gx-xl-0 {
+ --bs-gutter-x: 0;
+ }
+
+ .g-xl-0,
+.gy-xl-0 {
+ --bs-gutter-y: 0;
+ }
+
+ .g-xl-1,
+.gx-xl-1 {
+ --bs-gutter-x: 0.25rem;
+ }
+
+ .g-xl-1,
+.gy-xl-1 {
+ --bs-gutter-y: 0.25rem;
+ }
+
+ .g-xl-2,
+.gx-xl-2 {
+ --bs-gutter-x: 0.5rem;
+ }
+
+ .g-xl-2,
+.gy-xl-2 {
+ --bs-gutter-y: 0.5rem;
+ }
+
+ .g-xl-3,
+.gx-xl-3 {
+ --bs-gutter-x: 1rem;
+ }
+
+ .g-xl-3,
+.gy-xl-3 {
+ --bs-gutter-y: 1rem;
+ }
+
+ .g-xl-4,
+.gx-xl-4 {
+ --bs-gutter-x: 1.5rem;
+ }
+
+ .g-xl-4,
+.gy-xl-4 {
+ --bs-gutter-y: 1.5rem;
+ }
+
+ .g-xl-5,
+.gx-xl-5 {
+ --bs-gutter-x: 3rem;
+ }
+
+ .g-xl-5,
+.gy-xl-5 {
+ --bs-gutter-y: 3rem;
+ }
+}
+@media (min-width: 1400px) {
+ .col-xxl {
+ flex: 1 0 0%;
+ }
+
+ .row-cols-xxl-auto > * {
+ flex: 0 0 auto;
+ width: auto;
+ }
+
+ .row-cols-xxl-1 > * {
+ flex: 0 0 auto;
+ width: 100%;
+ }
+
+ .row-cols-xxl-2 > * {
+ flex: 0 0 auto;
+ width: 50%;
+ }
+
+ .row-cols-xxl-3 > * {
+ flex: 0 0 auto;
+ width: 33.3333333333%;
+ }
+
+ .row-cols-xxl-4 > * {
+ flex: 0 0 auto;
+ width: 25%;
+ }
+
+ .row-cols-xxl-5 > * {
+ flex: 0 0 auto;
+ width: 20%;
+ }
+
+ .row-cols-xxl-6 > * {
+ flex: 0 0 auto;
+ width: 16.6666666667%;
+ }
+
+ .col-xxl-auto {
+ flex: 0 0 auto;
+ width: auto;
+ }
+
+ .col-xxl-1 {
+ flex: 0 0 auto;
+ width: 8.3333333333%;
+ }
+
+ .col-xxl-2 {
+ flex: 0 0 auto;
+ width: 16.6666666667%;
+ }
+
+ .col-xxl-3 {
+ flex: 0 0 auto;
+ width: 25%;
+ }
+
+ .col-xxl-4 {
+ flex: 0 0 auto;
+ width: 33.3333333333%;
+ }
+
+ .col-xxl-5 {
+ flex: 0 0 auto;
+ width: 41.6666666667%;
+ }
+
+ .col-xxl-6 {
+ flex: 0 0 auto;
+ width: 50%;
+ }
+
+ .col-xxl-7 {
+ flex: 0 0 auto;
+ width: 58.3333333333%;
+ }
+
+ .col-xxl-8 {
+ flex: 0 0 auto;
+ width: 66.6666666667%;
+ }
+
+ .col-xxl-9 {
+ flex: 0 0 auto;
+ width: 75%;
+ }
+
+ .col-xxl-10 {
+ flex: 0 0 auto;
+ width: 83.3333333333%;
+ }
+
+ .col-xxl-11 {
+ flex: 0 0 auto;
+ width: 91.6666666667%;
+ }
+
+ .col-xxl-12 {
+ flex: 0 0 auto;
+ width: 100%;
+ }
+
+ .offset-xxl-0 {
+ margin-left: 0;
+ }
+
+ .offset-xxl-1 {
+ margin-left: 8.3333333333%;
+ }
+
+ .offset-xxl-2 {
+ margin-left: 16.6666666667%;
+ }
+
+ .offset-xxl-3 {
+ margin-left: 25%;
+ }
+
+ .offset-xxl-4 {
+ margin-left: 33.3333333333%;
+ }
+
+ .offset-xxl-5 {
+ margin-left: 41.6666666667%;
+ }
+
+ .offset-xxl-6 {
+ margin-left: 50%;
+ }
+
+ .offset-xxl-7 {
+ margin-left: 58.3333333333%;
+ }
+
+ .offset-xxl-8 {
+ margin-left: 66.6666666667%;
+ }
+
+ .offset-xxl-9 {
+ margin-left: 75%;
+ }
+
+ .offset-xxl-10 {
+ margin-left: 83.3333333333%;
+ }
+
+ .offset-xxl-11 {
+ margin-left: 91.6666666667%;
+ }
+
+ .g-xxl-0,
+.gx-xxl-0 {
+ --bs-gutter-x: 0;
+ }
+
+ .g-xxl-0,
+.gy-xxl-0 {
+ --bs-gutter-y: 0;
+ }
+
+ .g-xxl-1,
+.gx-xxl-1 {
+ --bs-gutter-x: 0.25rem;
+ }
+
+ .g-xxl-1,
+.gy-xxl-1 {
+ --bs-gutter-y: 0.25rem;
+ }
+
+ .g-xxl-2,
+.gx-xxl-2 {
+ --bs-gutter-x: 0.5rem;
+ }
+
+ .g-xxl-2,
+.gy-xxl-2 {
+ --bs-gutter-y: 0.5rem;
+ }
+
+ .g-xxl-3,
+.gx-xxl-3 {
+ --bs-gutter-x: 1rem;
+ }
+
+ .g-xxl-3,
+.gy-xxl-3 {
+ --bs-gutter-y: 1rem;
+ }
+
+ .g-xxl-4,
+.gx-xxl-4 {
+ --bs-gutter-x: 1.5rem;
+ }
+
+ .g-xxl-4,
+.gy-xxl-4 {
+ --bs-gutter-y: 1.5rem;
+ }
+
+ .g-xxl-5,
+.gx-xxl-5 {
+ --bs-gutter-x: 3rem;
+ }
+
+ .g-xxl-5,
+.gy-xxl-5 {
+ --bs-gutter-y: 3rem;
+ }
+}
+.table {
+ --bs-table-bg: transparent;
+ --bs-table-striped-color: #212529;
+ --bs-table-striped-bg: rgba(0, 0, 0, 0.05);
+ --bs-table-active-color: #212529;
+ --bs-table-active-bg: rgba(0, 0, 0, 0.1);
+ --bs-table-hover-color: #212529;
+ --bs-table-hover-bg: rgba(0, 0, 0, 0.075);
+ width: 100%;
+ margin-bottom: 1rem;
+ color: #212529;
+ vertical-align: top;
+ border-color: #dee2e6;
+}
+.table > :not(caption) > * > * {
+ padding: 0.5rem 0.5rem;
+ background-color: var(--bs-table-bg);
+ background-image: linear-gradient(var(--bs-table-accent-bg), var(--bs-table-accent-bg));
+ border-bottom-width: 1px;
+}
+.table > tbody {
+ vertical-align: inherit;
+}
+.table > thead {
+ vertical-align: bottom;
+}
+.table > :not(:last-child) > :last-child > * {
+ border-bottom-color: currentColor;
+}
+
+.caption-top {
+ caption-side: top;
+}
+
+.table-sm > :not(caption) > * > * {
+ padding: 0.25rem 0.25rem;
+}
+
+.table-bordered > :not(caption) > * {
+ border-width: 1px 0;
+}
+.table-bordered > :not(caption) > * > * {
+ border-width: 0 1px;
+}
+
+.table-borderless > :not(caption) > * > * {
+ border-bottom-width: 0;
+}
+
+.table-striped > tbody > tr:nth-of-type(odd) {
+ --bs-table-accent-bg: var(--bs-table-striped-bg);
+ color: var(--bs-table-striped-color);
+}
+
+.table-active {
+ --bs-table-accent-bg: var(--bs-table-active-bg);
+ color: var(--bs-table-active-color);
+}
+
+.table-hover > tbody > tr:hover {
+ --bs-table-accent-bg: var(--bs-table-hover-bg);
+ color: var(--bs-table-hover-color);
+}
+
+.table-primary {
+ --bs-table-bg: #ccdff3;
+ --bs-table-striped-bg: #c2d4e7;
+ --bs-table-striped-color: #000;
+ --bs-table-active-bg: #b8c9db;
+ --bs-table-active-color: #000;
+ --bs-table-hover-bg: #bdcee1;
+ --bs-table-hover-color: #000;
+ color: #000;
+ border-color: #b8c9db;
+}
+
+.table-secondary {
+ --bs-table-bg: #fff2cc;
+ --bs-table-striped-bg: #f2e6c2;
+ --bs-table-striped-color: #000;
+ --bs-table-active-bg: #e6dab8;
+ --bs-table-active-color: #000;
+ --bs-table-hover-bg: #ece0bd;
+ --bs-table-hover-color: #000;
+ color: #000;
+ border-color: #e6dab8;
+}
+
+.table-success {
+ --bs-table-bg: #eaf4cc;
+ --bs-table-striped-bg: #dee8c2;
+ --bs-table-striped-color: #000;
+ --bs-table-active-bg: #d3dcb8;
+ --bs-table-active-color: #000;
+ --bs-table-hover-bg: #d8e2bd;
+ --bs-table-hover-color: #000;
+ color: #000;
+ border-color: #d3dcb8;
+}
+
+.table-info {
+ --bs-table-bg: #cceaf9;
+ --bs-table-striped-bg: #c2deed;
+ --bs-table-striped-color: #000;
+ --bs-table-active-bg: #b8d3e0;
+ --bs-table-active-color: #000;
+ --bs-table-hover-bg: #bdd8e6;
+ --bs-table-hover-color: #000;
+ color: #000;
+ border-color: #b8d3e0;
+}
+
+.table-warning {
+ --bs-table-bg: #fff2cc;
+ --bs-table-striped-bg: #f2e6c2;
+ --bs-table-striped-color: #000;
+ --bs-table-active-bg: #e6dab8;
+ --bs-table-active-color: #000;
+ --bs-table-hover-bg: #ece0bd;
+ --bs-table-hover-color: #000;
+ color: #000;
+ border-color: #e6dab8;
+}
+
+.table-danger {
+ --bs-table-bg: #fad9d1;
+ --bs-table-striped-bg: #eecec7;
+ --bs-table-striped-color: #000;
+ --bs-table-active-bg: #e1c3bc;
+ --bs-table-active-color: #000;
+ --bs-table-hover-bg: #e7c9c1;
+ --bs-table-hover-color: #000;
+ color: #000;
+ border-color: #e1c3bc;
+}
+
+.table-light {
+ --bs-table-bg: #f8f9fa;
+ --bs-table-striped-bg: #ecedee;
+ --bs-table-striped-color: #000;
+ --bs-table-active-bg: #dfe0e1;
+ --bs-table-active-color: #000;
+ --bs-table-hover-bg: #e5e6e7;
+ --bs-table-hover-color: #000;
+ color: #000;
+ border-color: #dfe0e1;
+}
+
+.table-dark {
+ --bs-table-bg: #333;
+ --bs-table-striped-bg: #3d3d3d;
+ --bs-table-striped-color: #fff;
+ --bs-table-active-bg: #474747;
+ --bs-table-active-color: #fff;
+ --bs-table-hover-bg: #424242;
+ --bs-table-hover-color: #fff;
+ color: #fff;
+ border-color: #474747;
+}
+
+.table-responsive {
+ overflow-x: auto;
+ -webkit-overflow-scrolling: touch;
+}
+
+@media (max-width: 575.98px) {
+ .table-responsive-sm {
+ overflow-x: auto;
+ -webkit-overflow-scrolling: touch;
+ }
+}
+@media (max-width: 767.98px) {
+ .table-responsive-md {
+ overflow-x: auto;
+ -webkit-overflow-scrolling: touch;
+ }
+}
+@media (max-width: 991.98px) {
+ .table-responsive-lg {
+ overflow-x: auto;
+ -webkit-overflow-scrolling: touch;
+ }
+}
+@media (max-width: 1199.98px) {
+ .table-responsive-xl {
+ overflow-x: auto;
+ -webkit-overflow-scrolling: touch;
+ }
+}
+@media (max-width: 1399.98px) {
+ .table-responsive-xxl {
+ overflow-x: auto;
+ -webkit-overflow-scrolling: touch;
+ }
+}
+.form-label {
+ margin-bottom: 0.5rem;
+}
+
+.col-form-label {
+ padding-top: calc(0.375rem + 1px);
+ padding-bottom: calc(0.375rem + 1px);
+ margin-bottom: 0;
+ font-size: inherit;
+ line-height: 1.5;
+}
+
+.col-form-label-lg {
+ padding-top: calc(0.5rem + 1px);
+ padding-bottom: calc(0.5rem + 1px);
+ font-size: 1.25rem;
+}
+
+.col-form-label-sm {
+ padding-top: calc(0.25rem + 1px);
+ padding-bottom: calc(0.25rem + 1px);
+ font-size: 0.875rem;
+}
+
+.form-text {
+ margin-top: 0.25rem;
+ font-size: 0.8rem;
+ color: #6c757d;
+}
+
+.form-control {
+ display: block;
+ width: 100%;
+ padding: 0.375rem 0.75rem;
+ font-size: 1rem;
+ font-weight: 400;
+ line-height: 1.5;
+ color: #212529;
+ background-color: #fff;
+ background-clip: padding-box;
+ border: 1px solid #ced4da;
+ -webkit-appearance: none;
+ -moz-appearance: none;
+ appearance: none;
+ border-radius: 0.25rem;
+ transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
+}
+@media (prefers-reduced-motion: reduce) {
+ .form-control {
+ transition: none;
+ }
+}
+.form-control[type=file] {
+ overflow: hidden;
+}
+.form-control[type=file]:not(:disabled):not([readonly]) {
+ cursor: pointer;
+}
+.form-control:focus {
+ color: #212529;
+ background-color: #fff;
+ border-color: #80aee2;
+ outline: 0;
+ box-shadow: none;
+}
+.form-control::-webkit-date-and-time-value {
+ height: 1.5em;
+}
+.form-control::-moz-placeholder {
+ color: #6c757d;
+ opacity: 1;
+}
+.form-control:-ms-input-placeholder {
+ color: #6c757d;
+ opacity: 1;
+}
+.form-control::placeholder {
+ color: #6c757d;
+ opacity: 1;
+}
+.form-control:disabled, .form-control[readonly] {
+ background-color: #e9ecef;
+ opacity: 1;
+}
+.form-control::file-selector-button {
+ padding: 0.375rem 0.75rem;
+ margin: -0.375rem -0.75rem;
+ -webkit-margin-end: 0.75rem;
+ margin-inline-end: 0.75rem;
+ color: #212529;
+ background-color: #e9ecef;
+ pointer-events: none;
+ border-color: inherit;
+ border-style: solid;
+ border-width: 0;
+ border-inline-end-width: 1px;
+ border-radius: 0;
+ transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
+}
+@media (prefers-reduced-motion: reduce) {
+ .form-control::file-selector-button {
+ transition: none;
+ }
+}
+.form-control:hover:not(:disabled):not([readonly])::file-selector-button {
+ background-color: #dde0e3;
+}
+.form-control::-webkit-file-upload-button {
+ padding: 0.375rem 0.75rem;
+ margin: -0.375rem -0.75rem;
+ -webkit-margin-end: 0.75rem;
+ margin-inline-end: 0.75rem;
+ color: #212529;
+ background-color: #e9ecef;
+ pointer-events: none;
+ border-color: inherit;
+ border-style: solid;
+ border-width: 0;
+ border-inline-end-width: 1px;
+ border-radius: 0;
+ -webkit-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
+ transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
+}
+@media (prefers-reduced-motion: reduce) {
+ .form-control::-webkit-file-upload-button {
+ -webkit-transition: none;
+ transition: none;
+ }
+}
+.form-control:hover:not(:disabled):not([readonly])::-webkit-file-upload-button {
+ background-color: #dde0e3;
+}
+
+.form-control-plaintext {
+ display: block;
+ width: 100%;
+ padding: 0.375rem 0;
+ margin-bottom: 0;
+ line-height: 1.5;
+ color: #212529;
+ background-color: transparent;
+ border: solid transparent;
+ border-width: 1px 0;
+}
+.form-control-plaintext.form-control-sm, .form-control-plaintext.form-control-lg {
+ padding-right: 0;
+ padding-left: 0;
+}
+
+.form-control-sm {
+ min-height: calc(1.5em + 0.5rem + 2px);
+ padding: 0.25rem 0.5rem;
+ font-size: 0.875rem;
+ border-radius: 0.2rem;
+}
+.form-control-sm::file-selector-button {
+ padding: 0.25rem 0.5rem;
+ margin: -0.25rem -0.5rem;
+ -webkit-margin-end: 0.5rem;
+ margin-inline-end: 0.5rem;
+}
+.form-control-sm::-webkit-file-upload-button {
+ padding: 0.25rem 0.5rem;
+ margin: -0.25rem -0.5rem;
+ -webkit-margin-end: 0.5rem;
+ margin-inline-end: 0.5rem;
+}
+
+.form-control-lg {
+ min-height: calc(1.5em + 1rem + 2px);
+ padding: 0.5rem 1rem;
+ font-size: 1.25rem;
+ border-radius: 0.3rem;
+}
+.form-control-lg::file-selector-button {
+ padding: 0.5rem 1rem;
+ margin: -0.5rem -1rem;
+ -webkit-margin-end: 1rem;
+ margin-inline-end: 1rem;
+}
+.form-control-lg::-webkit-file-upload-button {
+ padding: 0.5rem 1rem;
+ margin: -0.5rem -1rem;
+ -webkit-margin-end: 1rem;
+ margin-inline-end: 1rem;
+}
+
+textarea.form-control {
+ min-height: calc(1.5em + 0.75rem + 2px);
+}
+textarea.form-control-sm {
+ min-height: calc(1.5em + 0.5rem + 2px);
+}
+textarea.form-control-lg {
+ min-height: calc(1.5em + 1rem + 2px);
+}
+
+.form-control-color {
+ max-width: 3rem;
+ height: auto;
+ padding: 0.375rem;
+}
+.form-control-color:not(:disabled):not([readonly]) {
+ cursor: pointer;
+}
+.form-control-color::-moz-color-swatch {
+ height: 1.5em;
+ border-radius: 0.25rem;
+}
+.form-control-color::-webkit-color-swatch {
+ height: 1.5em;
+ border-radius: 0.25rem;
+}
+
+.form-select {
+ display: block;
+ width: 100%;
+ padding: 0.375rem 1.75rem 0.375rem 0.75rem;
+ font-size: 1rem;
+ font-weight: 400;
+ line-height: 1.5;
+ color: #212529;
+ vertical-align: middle;
+ background-color: #fff;
+ background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e");
+ background-repeat: no-repeat;
+ background-position: right 0.75rem center;
+ background-size: 16px 12px;
+ border: 1px solid #ced4da;
+ border-radius: 0.25rem;
+ -webkit-appearance: none;
+ -moz-appearance: none;
+ appearance: none;
+}
+.form-select:focus {
+ border-color: #80aee2;
+ outline: 0;
+ box-shadow: 0 0 0 0.25rem rgba(0, 93, 197, 0.25);
+}
+.form-select[multiple], .form-select[size]:not([size="1"]) {
+ padding-right: 0.75rem;
+ background-image: none;
+}
+.form-select:disabled {
+ color: #6c757d;
+ background-color: #e9ecef;
+}
+.form-select:-moz-focusring {
+ color: transparent;
+ text-shadow: 0 0 0 #212529;
+}
+
+.form-select-sm {
+ padding-top: 0.25rem;
+ padding-bottom: 0.25rem;
+ padding-left: 0.5rem;
+ font-size: 0.875rem;
+}
+
+.form-select-lg {
+ padding-top: 0.5rem;
+ padding-bottom: 0.5rem;
+ padding-left: 1rem;
+ font-size: 1.25rem;
+}
+
+.form-check {
+ display: block;
+ min-height: 1.5rem;
+ padding-left: 1.5em;
+ margin-bottom: 0.125rem;
+}
+.form-check .form-check-input {
+ float: left;
+ margin-left: -1.5em;
+}
+
+.form-check-input {
+ width: 1em;
+ height: 1em;
+ margin-top: 0.25em;
+ vertical-align: top;
+ background-color: #fff;
+ background-repeat: no-repeat;
+ background-position: center;
+ background-size: contain;
+ border: 1px solid rgba(0, 0, 0, 0.25);
+ -webkit-appearance: none;
+ -moz-appearance: none;
+ appearance: none;
+ -webkit-print-color-adjust: exact;
+ color-adjust: exact;
+ transition: background-color 0.15s ease-in-out, background-position 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
+}
+@media (prefers-reduced-motion: reduce) {
+ .form-check-input {
+ transition: none;
+ }
+}
+.form-check-input[type=checkbox] {
+ border-radius: 0.25em;
+}
+.form-check-input[type=radio] {
+ border-radius: 50%;
+}
+.form-check-input:active {
+ filter: brightness(90%);
+}
+.form-check-input:focus {
+ border-color: #80aee2;
+ outline: 0;
+ box-shadow: 0 0 0 0.25rem rgba(0, 93, 197, 0.25);
+}
+.form-check-input:checked {
+ background-color: #005dc5;
+ border-color: #005dc5;
+}
+.form-check-input:checked[type=checkbox] {
+ background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10l3 3l6-6'/%3e%3c/svg%3e");
+}
+.form-check-input:checked[type=radio] {
+ background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e");
+}
+.form-check-input[type=checkbox]:indeterminate {
+ background-color: #005dc5;
+ border-color: #005dc5;
+ background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e");
+}
+.form-check-input:disabled {
+ pointer-events: none;
+ filter: none;
+ opacity: 0.5;
+}
+.form-check-input[disabled] ~ .form-check-label, .form-check-input:disabled ~ .form-check-label {
+ opacity: 0.5;
+}
+
+.form-switch {
+ padding-left: 2.5em;
+}
+.form-switch .form-check-input {
+ width: 2em;
+ margin-left: -2.5em;
+ background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280, 0, 0, 0.25%29'/%3e%3c/svg%3e");
+ background-position: left center;
+ border-radius: 2em;
+}
+.form-switch .form-check-input:focus {
+ background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2380aee2'/%3e%3c/svg%3e");
+}
+.form-switch .form-check-input:checked {
+ background-position: right center;
+ background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e");
+}
+
+.form-check-inline {
+ display: inline-block;
+ margin-right: 1rem;
+}
+
+.btn-check {
+ position: absolute;
+ clip: rect(0, 0, 0, 0);
+ pointer-events: none;
+}
+.btn-check[disabled] + .btn, .btn-check:disabled + .btn {
+ pointer-events: none;
+ filter: none;
+ opacity: 0.65;
+}
+
+.form-range {
+ width: 100%;
+ height: 1.5rem;
+ padding: 0;
+ background-color: transparent;
+ -webkit-appearance: none;
+ -moz-appearance: none;
+ appearance: none;
+}
+.form-range:focus {
+ outline: none;
+}
+.form-range:focus::-webkit-slider-thumb {
+ box-shadow: 0 0 0 1px #fff, none;
+}
+.form-range:focus::-moz-range-thumb {
+ box-shadow: 0 0 0 1px #fff, none;
+}
+.form-range::-moz-focus-outer {
+ border: 0;
+}
+.form-range::-webkit-slider-thumb {
+ width: 1rem;
+ height: 1rem;
+ margin-top: -0.25rem;
+ background-color: #005dc5;
+ border: 0;
+ border-radius: 1rem;
+ -webkit-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
+ transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
+ -webkit-appearance: none;
+ appearance: none;
+}
+@media (prefers-reduced-motion: reduce) {
+ .form-range::-webkit-slider-thumb {
+ -webkit-transition: none;
+ transition: none;
+ }
+}
+.form-range::-webkit-slider-thumb:active {
+ background-color: #b3ceee;
+}
+.form-range::-webkit-slider-runnable-track {
+ width: 100%;
+ height: 0.5rem;
+ color: transparent;
+ cursor: pointer;
+ background-color: #dee2e6;
+ border-color: transparent;
+ border-radius: 1rem;
+}
+.form-range::-moz-range-thumb {
+ width: 1rem;
+ height: 1rem;
+ background-color: #005dc5;
+ border: 0;
+ border-radius: 1rem;
+ -moz-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
+ transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
+ -moz-appearance: none;
+ appearance: none;
+}
+@media (prefers-reduced-motion: reduce) {
+ .form-range::-moz-range-thumb {
+ -moz-transition: none;
+ transition: none;
+ }
+}
+.form-range::-moz-range-thumb:active {
+ background-color: #b3ceee;
+}
+.form-range::-moz-range-track {
+ width: 100%;
+ height: 0.5rem;
+ color: transparent;
+ cursor: pointer;
+ background-color: #dee2e6;
+ border-color: transparent;
+ border-radius: 1rem;
+}
+.form-range:disabled {
+ pointer-events: none;
+}
+.form-range:disabled::-webkit-slider-thumb {
+ background-color: #adb5bd;
+}
+.form-range:disabled::-moz-range-thumb {
+ background-color: #adb5bd;
+}
+
+.form-floating {
+ position: relative;
+}
+.form-floating > .form-control,
+.form-floating > .form-select {
+ height: calc(3.5rem + 2px);
+ padding: 1rem 0.75rem;
+}
+.form-floating > label {
+ position: absolute;
+ top: 0;
+ left: 0;
+ height: 100%;
+ padding: 1rem 0.75rem;
+ pointer-events: none;
+ border: 1px solid transparent;
+ transform-origin: 0 0;
+ transition: opacity 0.1s ease-in-out, transform 0.1s ease-in-out;
+}
+@media (prefers-reduced-motion: reduce) {
+ .form-floating > label {
+ transition: none;
+ }
+}
+.form-floating > .form-control::-moz-placeholder {
+ color: transparent;
+}
+.form-floating > .form-control:-ms-input-placeholder {
+ color: transparent;
+}
+.form-floating > .form-control::placeholder {
+ color: transparent;
+}
+.form-floating > .form-control:not(:-moz-placeholder-shown) {
+ padding-top: 1.625rem;
+ padding-bottom: 0.625rem;
+}
+.form-floating > .form-control:not(:-ms-input-placeholder) {
+ padding-top: 1.625rem;
+ padding-bottom: 0.625rem;
+}
+.form-floating > .form-control:focus, .form-floating > .form-control:not(:placeholder-shown) {
+ padding-top: 1.625rem;
+ padding-bottom: 0.625rem;
+}
+.form-floating > .form-control:-webkit-autofill {
+ padding-top: 1.625rem;
+ padding-bottom: 0.625rem;
+}
+.form-floating > .form-select {
+ padding-top: 1.625rem;
+ padding-bottom: 0.625rem;
+}
+.form-floating > .form-control:not(:-moz-placeholder-shown) ~ label {
+ opacity: 0.65;
+ transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);
+}
+.form-floating > .form-control:not(:-ms-input-placeholder) ~ label {
+ opacity: 0.65;
+ transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);
+}
+.form-floating > .form-control:focus ~ label,
+.form-floating > .form-control:not(:placeholder-shown) ~ label,
+.form-floating > .form-select ~ label {
+ opacity: 0.65;
+ transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);
+}
+.form-floating > .form-control:-webkit-autofill ~ label {
+ opacity: 0.65;
+ transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);
+}
+
+.input-group {
+ position: relative;
+ display: flex;
+ flex-wrap: wrap;
+ align-items: stretch;
+ width: 100%;
+}
+.input-group > .form-control,
+.input-group > .form-select {
+ position: relative;
+ flex: 1 1 auto;
+ width: 1%;
+ min-width: 0;
+}
+.input-group > .form-control:focus,
+.input-group > .form-select:focus {
+ z-index: 3;
+}
+.input-group .btn {
+ position: relative;
+ z-index: 2;
+}
+.input-group .btn:focus {
+ z-index: 3;
+}
+
+.input-group-text {
+ display: flex;
+ align-items: center;
+ padding: 0.375rem 0.75rem;
+ font-size: 1rem;
+ font-weight: 400;
+ line-height: 1.5;
+ color: #212529;
+ text-align: center;
+ white-space: nowrap;
+ background-color: #e9ecef;
+ border: 1px solid #ced4da;
+ border-radius: 0.25rem;
+}
+
+.input-group-lg > .form-control,
+.input-group-lg > .form-select,
+.input-group-lg > .input-group-text,
+.input-group-lg > .btn {
+ padding: 0.5rem 1rem;
+ font-size: 1.25rem;
+ border-radius: 0.3rem;
+}
+
+.input-group-sm > .form-control,
+.input-group-sm > .form-select,
+.input-group-sm > .input-group-text,
+.input-group-sm > .btn {
+ padding: 0.25rem 0.5rem;
+ font-size: 0.875rem;
+ border-radius: 0.2rem;
+}
+
+.input-group-lg > .form-select,
+.input-group-sm > .form-select {
+ padding-right: 1.75rem;
+}
+
+.input-group:not(.has-validation) > :not(:last-child):not(.dropdown-toggle):not(.dropdown-menu),
+.input-group:not(.has-validation) > .dropdown-toggle:nth-last-child(n+3) {
+ border-top-right-radius: 0;
+ border-bottom-right-radius: 0;
+}
+.input-group.has-validation > :nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu),
+.input-group.has-validation > .dropdown-toggle:nth-last-child(n+4) {
+ border-top-right-radius: 0;
+ border-bottom-right-radius: 0;
+}
+.input-group > :not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback) {
+ margin-left: -1px;
+ border-top-left-radius: 0;
+ border-bottom-left-radius: 0;
+}
+
+.valid-feedback {
+ display: none;
+ width: 100%;
+ margin-top: 0.25rem;
+ font-size: 0.8rem;
+ color: #97c800;
+}
+
+.valid-tooltip {
+ position: absolute;
+ top: 100%;
+ z-index: 5;
+ display: none;
+ max-width: 100%;
+ padding: 0.25rem 0.5rem;
+ margin-top: 0.1rem;
+ font-size: 0.875rem;
+ color: #000;
+ background-color: rgba(151, 200, 0, 0.9);
+ border-radius: 0.25rem;
+}
+
+.was-validated :valid ~ .valid-feedback,
+.was-validated :valid ~ .valid-tooltip,
+.is-valid ~ .valid-feedback,
+.is-valid ~ .valid-tooltip {
+ display: block;
+}
+
+.was-validated .form-control:valid, .form-control.is-valid {
+ border-color: #97c800;
+ padding-right: calc(1.5em + 0.75rem);
+ background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2397c800' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");
+ background-repeat: no-repeat;
+ background-position: right calc(0.375em + 0.1875rem) center;
+ background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
+}
+.was-validated .form-control:valid:focus, .form-control.is-valid:focus {
+ border-color: #97c800;
+ box-shadow: 0 0 0 0.25rem rgba(151, 200, 0, 0.25);
+}
+
+.was-validated textarea.form-control:valid, textarea.form-control.is-valid {
+ padding-right: calc(1.5em + 0.75rem);
+ background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem);
+}
+
+.was-validated .form-select:valid, .form-select.is-valid {
+ border-color: #97c800;
+ padding-right: calc(0.75em + 2.3125rem);
+ background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e"), url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2397c800' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");
+ background-position: right 0.75rem center, center right 1.75rem;
+ background-size: 16px 12px, calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
+}
+.was-validated .form-select:valid:focus, .form-select.is-valid:focus {
+ border-color: #97c800;
+ box-shadow: 0 0 0 0.25rem rgba(151, 200, 0, 0.25);
+}
+
+.was-validated .form-check-input:valid, .form-check-input.is-valid {
+ border-color: #97c800;
+}
+.was-validated .form-check-input:valid:checked, .form-check-input.is-valid:checked {
+ background-color: #97c800;
+}
+.was-validated .form-check-input:valid:focus, .form-check-input.is-valid:focus {
+ box-shadow: 0 0 0 0.25rem rgba(151, 200, 0, 0.25);
+}
+.was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label {
+ color: #97c800;
+}
+
+.form-check-inline .form-check-input ~ .valid-feedback {
+ margin-left: 0.5em;
+}
+
+.invalid-feedback {
+ display: none;
+ width: 100%;
+ margin-top: 0.25rem;
+ font-size: 0.8rem;
+ color: #e74018;
+}
+
+.invalid-tooltip {
+ position: absolute;
+ top: 100%;
+ z-index: 5;
+ display: none;
+ max-width: 100%;
+ padding: 0.25rem 0.5rem;
+ margin-top: 0.1rem;
+ font-size: 0.875rem;
+ color: #000;
+ background-color: rgba(231, 64, 24, 0.9);
+ border-radius: 0.25rem;
+}
+
+.was-validated :invalid ~ .invalid-feedback,
+.was-validated :invalid ~ .invalid-tooltip,
+.is-invalid ~ .invalid-feedback,
+.is-invalid ~ .invalid-tooltip {
+ display: block;
+}
+
+.was-validated .form-control:invalid, .form-control.is-invalid {
+ border-color: #e74018;
+ padding-right: calc(1.5em + 0.75rem);
+ background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23e74018'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23e74018' stroke='none'/%3e%3c/svg%3e");
+ background-repeat: no-repeat;
+ background-position: right calc(0.375em + 0.1875rem) center;
+ background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
+}
+.was-validated .form-control:invalid:focus, .form-control.is-invalid:focus {
+ border-color: #e74018;
+ box-shadow: 0 0 0 0.25rem rgba(231, 64, 24, 0.25);
+}
+
+.was-validated textarea.form-control:invalid, textarea.form-control.is-invalid {
+ padding-right: calc(1.5em + 0.75rem);
+ background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem);
+}
+
+.was-validated .form-select:invalid, .form-select.is-invalid {
+ border-color: #e74018;
+ padding-right: calc(0.75em + 2.3125rem);
+ background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e"), url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23e74018'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23e74018' stroke='none'/%3e%3c/svg%3e");
+ background-position: right 0.75rem center, center right 1.75rem;
+ background-size: 16px 12px, calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
+}
+.was-validated .form-select:invalid:focus, .form-select.is-invalid:focus {
+ border-color: #e74018;
+ box-shadow: 0 0 0 0.25rem rgba(231, 64, 24, 0.25);
+}
+
+.was-validated .form-check-input:invalid, .form-check-input.is-invalid {
+ border-color: #e74018;
+}
+.was-validated .form-check-input:invalid:checked, .form-check-input.is-invalid:checked {
+ background-color: #e74018;
+}
+.was-validated .form-check-input:invalid:focus, .form-check-input.is-invalid:focus {
+ box-shadow: 0 0 0 0.25rem rgba(231, 64, 24, 0.25);
+}
+.was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label {
+ color: #e74018;
+}
+
+.form-check-inline .form-check-input ~ .invalid-feedback {
+ margin-left: 0.5em;
+}
+
+.btn {
+ display: inline-block;
+ font-weight: 400;
+ line-height: 1.5;
+ color: #212529;
+ text-align: center;
+ vertical-align: middle;
+ cursor: pointer;
+ -webkit-user-select: none;
+ -moz-user-select: none;
+ -ms-user-select: none;
+ user-select: none;
+ background-color: transparent;
+ border: 1px solid transparent;
+ padding: 0.375rem 0.75rem;
+ font-size: 1rem;
+ border-radius: 0.25rem;
+ transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
+}
+@media (prefers-reduced-motion: reduce) {
+ .btn {
+ transition: none;
+ }
+}
+.btn:hover {
+ color: #212529;
+}
+.btn-check:focus + .btn, .btn:focus {
+ outline: 0;
+ box-shadow: none !important;
+}
+.btn:disabled, .btn.disabled, fieldset:disabled .btn {
+ pointer-events: none;
+ opacity: 0.65;
+}
+
+.btn-primary {
+ color: #fff;
+ background-color: #005dc5;
+ border-color: #005dc5;
+}
+.btn-primary:hover {
+ color: #fff;
+ background-color: #004fa7;
+ border-color: #004a9e;
+}
+.btn-check:focus + .btn-primary, .btn-primary:focus {
+ color: #fff;
+ background-color: #004fa7;
+ border-color: #004a9e;
+ box-shadow: 0 0 0 0.25rem rgba(38, 117, 206, 0.5);
+}
+.btn-check:checked + .btn-primary, .btn-check:active + .btn-primary, .btn-primary:active, .btn-primary.active, .show > .btn-primary.dropdown-toggle {
+ color: #fff;
+ background-color: #004a9e;
+ border-color: #004694;
+}
+.btn-check:checked + .btn-primary:focus, .btn-check:active + .btn-primary:focus, .btn-primary:active:focus, .btn-primary.active:focus, .show > .btn-primary.dropdown-toggle:focus {
+ box-shadow: 0 0 0 0.25rem rgba(38, 117, 206, 0.5);
+}
+.btn-primary:disabled, .btn-primary.disabled {
+ color: #fff;
+ background-color: #005dc5;
+ border-color: #005dc5;
+}
+
+.btn-secondary {
+ color: #000;
+ background-color: #ffc000;
+ border-color: #ffc000;
+}
+.btn-secondary:hover {
+ color: #000;
+ background-color: #ffc926;
+ border-color: #ffc61a;
+}
+.btn-check:focus + .btn-secondary, .btn-secondary:focus {
+ color: #000;
+ background-color: #ffc926;
+ border-color: #ffc61a;
+ box-shadow: 0 0 0 0.25rem rgba(217, 163, 0, 0.5);
+}
+.btn-check:checked + .btn-secondary, .btn-check:active + .btn-secondary, .btn-secondary:active, .btn-secondary.active, .show > .btn-secondary.dropdown-toggle {
+ color: #000;
+ background-color: #ffcd33;
+ border-color: #ffc61a;
+}
+.btn-check:checked + .btn-secondary:focus, .btn-check:active + .btn-secondary:focus, .btn-secondary:active:focus, .btn-secondary.active:focus, .show > .btn-secondary.dropdown-toggle:focus {
+ box-shadow: 0 0 0 0.25rem rgba(217, 163, 0, 0.5);
+}
+.btn-secondary:disabled, .btn-secondary.disabled {
+ color: #000;
+ background-color: #ffc000;
+ border-color: #ffc000;
+}
+
+.btn-success {
+ color: #000;
+ background-color: #97c800;
+ border-color: #97c800;
+}
+.btn-success:hover {
+ color: #000;
+ background-color: #a7d026;
+ border-color: #a1ce1a;
+}
+.btn-check:focus + .btn-success, .btn-success:focus {
+ color: #000;
+ background-color: #a7d026;
+ border-color: #a1ce1a;
+ box-shadow: 0 0 0 0.25rem rgba(128, 170, 0, 0.5);
+}
+.btn-check:checked + .btn-success, .btn-check:active + .btn-success, .btn-success:active, .btn-success.active, .show > .btn-success.dropdown-toggle {
+ color: #000;
+ background-color: #acd333;
+ border-color: #a1ce1a;
+}
+.btn-check:checked + .btn-success:focus, .btn-check:active + .btn-success:focus, .btn-success:active:focus, .btn-success.active:focus, .show > .btn-success.dropdown-toggle:focus {
+ box-shadow: 0 0 0 0.25rem rgba(128, 170, 0, 0.5);
+}
+.btn-success:disabled, .btn-success.disabled {
+ color: #000;
+ background-color: #97c800;
+ border-color: #97c800;
+}
+
+.btn-info {
+ color: #000;
+ background-color: #0098df;
+ border-color: #0098df;
+}
+.btn-info:hover {
+ color: #000;
+ background-color: #26a7e4;
+ border-color: #1aa2e2;
+}
+.btn-check:focus + .btn-info, .btn-info:focus {
+ color: #000;
+ background-color: #26a7e4;
+ border-color: #1aa2e2;
+ box-shadow: 0 0 0 0.25rem rgba(0, 129, 190, 0.5);
+}
+.btn-check:checked + .btn-info, .btn-check:active + .btn-info, .btn-info:active, .btn-info.active, .show > .btn-info.dropdown-toggle {
+ color: #000;
+ background-color: #33ade5;
+ border-color: #1aa2e2;
+}
+.btn-check:checked + .btn-info:focus, .btn-check:active + .btn-info:focus, .btn-info:active:focus, .btn-info.active:focus, .show > .btn-info.dropdown-toggle:focus {
+ box-shadow: 0 0 0 0.25rem rgba(0, 129, 190, 0.5);
+}
+.btn-info:disabled, .btn-info.disabled {
+ color: #000;
+ background-color: #0098df;
+ border-color: #0098df;
+}
+
+.btn-warning {
+ color: #000;
+ background-color: #ffc000;
+ border-color: #ffc000;
+}
+.btn-warning:hover {
+ color: #000;
+ background-color: #ffc926;
+ border-color: #ffc61a;
+}
+.btn-check:focus + .btn-warning, .btn-warning:focus {
+ color: #000;
+ background-color: #ffc926;
+ border-color: #ffc61a;
+ box-shadow: 0 0 0 0.25rem rgba(217, 163, 0, 0.5);
+}
+.btn-check:checked + .btn-warning, .btn-check:active + .btn-warning, .btn-warning:active, .btn-warning.active, .show > .btn-warning.dropdown-toggle {
+ color: #000;
+ background-color: #ffcd33;
+ border-color: #ffc61a;
+}
+.btn-check:checked + .btn-warning:focus, .btn-check:active + .btn-warning:focus, .btn-warning:active:focus, .btn-warning.active:focus, .show > .btn-warning.dropdown-toggle:focus {
+ box-shadow: 0 0 0 0.25rem rgba(217, 163, 0, 0.5);
+}
+.btn-warning:disabled, .btn-warning.disabled {
+ color: #000;
+ background-color: #ffc000;
+ border-color: #ffc000;
+}
+
+.btn-danger {
+ color: #000;
+ background-color: #e74018;
+ border-color: #e74018;
+}
+.btn-danger:hover {
+ color: #000;
+ background-color: #eb5d3b;
+ border-color: #e9532f;
+}
+.btn-check:focus + .btn-danger, .btn-danger:focus {
+ color: #000;
+ background-color: #eb5d3b;
+ border-color: #e9532f;
+ box-shadow: 0 0 0 0.25rem rgba(196, 54, 20, 0.5);
+}
+.btn-check:checked + .btn-danger, .btn-check:active + .btn-danger, .btn-danger:active, .btn-danger.active, .show > .btn-danger.dropdown-toggle {
+ color: #000;
+ background-color: #ec6646;
+ border-color: #e9532f;
+}
+.btn-check:checked + .btn-danger:focus, .btn-check:active + .btn-danger:focus, .btn-danger:active:focus, .btn-danger.active:focus, .show > .btn-danger.dropdown-toggle:focus {
+ box-shadow: 0 0 0 0.25rem rgba(196, 54, 20, 0.5);
+}
+.btn-danger:disabled, .btn-danger.disabled {
+ color: #000;
+ background-color: #e74018;
+ border-color: #e74018;
+}
+
+.btn-light {
+ color: #000;
+ background-color: #f8f9fa;
+ border-color: #f8f9fa;
+}
+.btn-light:hover {
+ color: #000;
+ background-color: #f9fafb;
+ border-color: #f9fafb;
+}
+.btn-check:focus + .btn-light, .btn-light:focus {
+ color: #000;
+ background-color: #f9fafb;
+ border-color: #f9fafb;
+ box-shadow: 0 0 0 0.25rem rgba(211, 212, 213, 0.5);
+}
+.btn-check:checked + .btn-light, .btn-check:active + .btn-light, .btn-light:active, .btn-light.active, .show > .btn-light.dropdown-toggle {
+ color: #000;
+ background-color: #f9fafb;
+ border-color: #f9fafb;
+}
+.btn-check:checked + .btn-light:focus, .btn-check:active + .btn-light:focus, .btn-light:active:focus, .btn-light.active:focus, .show > .btn-light.dropdown-toggle:focus {
+ box-shadow: 0 0 0 0.25rem rgba(211, 212, 213, 0.5);
+}
+.btn-light:disabled, .btn-light.disabled {
+ color: #000;
+ background-color: #f8f9fa;
+ border-color: #f8f9fa;
+}
+
+.btn-dark {
+ color: #fff;
+ background-color: #333;
+ border-color: #333;
+}
+.btn-dark:hover {
+ color: #fff;
+ background-color: #2b2b2b;
+ border-color: #292929;
+}
+.btn-check:focus + .btn-dark, .btn-dark:focus {
+ color: #fff;
+ background-color: #2b2b2b;
+ border-color: #292929;
+ box-shadow: 0 0 0 0.25rem rgba(82, 82, 82, 0.5);
+}
+.btn-check:checked + .btn-dark, .btn-check:active + .btn-dark, .btn-dark:active, .btn-dark.active, .show > .btn-dark.dropdown-toggle {
+ color: #fff;
+ background-color: #292929;
+ border-color: #262626;
+}
+.btn-check:checked + .btn-dark:focus, .btn-check:active + .btn-dark:focus, .btn-dark:active:focus, .btn-dark.active:focus, .show > .btn-dark.dropdown-toggle:focus {
+ box-shadow: 0 0 0 0.25rem rgba(82, 82, 82, 0.5);
+}
+.btn-dark:disabled, .btn-dark.disabled {
+ color: #fff;
+ background-color: #333;
+ border-color: #333;
+}
+
+.btn-outline-primary {
+ color: #005dc5;
+ border-color: #005dc5;
+}
+.btn-outline-primary:hover {
+ color: #fff;
+ background-color: #005dc5;
+ border-color: #005dc5;
+}
+.btn-check:focus + .btn-outline-primary, .btn-outline-primary:focus {
+ box-shadow: 0 0 0 0.25rem rgba(0, 93, 197, 0.5);
+}
+.btn-check:checked + .btn-outline-primary, .btn-check:active + .btn-outline-primary, .btn-outline-primary:active, .btn-outline-primary.active, .btn-outline-primary.dropdown-toggle.show {
+ color: #fff;
+ background-color: #005dc5;
+ border-color: #005dc5;
+}
+.btn-check:checked + .btn-outline-primary:focus, .btn-check:active + .btn-outline-primary:focus, .btn-outline-primary:active:focus, .btn-outline-primary.active:focus, .btn-outline-primary.dropdown-toggle.show:focus {
+ box-shadow: 0 0 0 0.25rem rgba(0, 93, 197, 0.5);
+}
+.btn-outline-primary:disabled, .btn-outline-primary.disabled {
+ color: #005dc5;
+ background-color: transparent;
+}
+
+.btn-outline-secondary {
+ color: #ffc000;
+ border-color: #ffc000;
+}
+.btn-outline-secondary:hover {
+ color: #000;
+ background-color: #ffc000;
+ border-color: #ffc000;
+}
+.btn-check:focus + .btn-outline-secondary, .btn-outline-secondary:focus {
+ box-shadow: 0 0 0 0.25rem rgba(255, 192, 0, 0.5);
+}
+.btn-check:checked + .btn-outline-secondary, .btn-check:active + .btn-outline-secondary, .btn-outline-secondary:active, .btn-outline-secondary.active, .btn-outline-secondary.dropdown-toggle.show {
+ color: #000;
+ background-color: #ffc000;
+ border-color: #ffc000;
+}
+.btn-check:checked + .btn-outline-secondary:focus, .btn-check:active + .btn-outline-secondary:focus, .btn-outline-secondary:active:focus, .btn-outline-secondary.active:focus, .btn-outline-secondary.dropdown-toggle.show:focus {
+ box-shadow: 0 0 0 0.25rem rgba(255, 192, 0, 0.5);
+}
+.btn-outline-secondary:disabled, .btn-outline-secondary.disabled {
+ color: #ffc000;
+ background-color: transparent;
+}
+
+.btn-outline-success {
+ color: #97c800;
+ border-color: #97c800;
+}
+.btn-outline-success:hover {
+ color: #000;
+ background-color: #97c800;
+ border-color: #97c800;
+}
+.btn-check:focus + .btn-outline-success, .btn-outline-success:focus {
+ box-shadow: 0 0 0 0.25rem rgba(151, 200, 0, 0.5);
+}
+.btn-check:checked + .btn-outline-success, .btn-check:active + .btn-outline-success, .btn-outline-success:active, .btn-outline-success.active, .btn-outline-success.dropdown-toggle.show {
+ color: #000;
+ background-color: #97c800;
+ border-color: #97c800;
+}
+.btn-check:checked + .btn-outline-success:focus, .btn-check:active + .btn-outline-success:focus, .btn-outline-success:active:focus, .btn-outline-success.active:focus, .btn-outline-success.dropdown-toggle.show:focus {
+ box-shadow: 0 0 0 0.25rem rgba(151, 200, 0, 0.5);
+}
+.btn-outline-success:disabled, .btn-outline-success.disabled {
+ color: #97c800;
+ background-color: transparent;
+}
+
+.btn-outline-info {
+ color: #0098df;
+ border-color: #0098df;
+}
+.btn-outline-info:hover {
+ color: #000;
+ background-color: #0098df;
+ border-color: #0098df;
+}
+.btn-check:focus + .btn-outline-info, .btn-outline-info:focus {
+ box-shadow: 0 0 0 0.25rem rgba(0, 152, 223, 0.5);
+}
+.btn-check:checked + .btn-outline-info, .btn-check:active + .btn-outline-info, .btn-outline-info:active, .btn-outline-info.active, .btn-outline-info.dropdown-toggle.show {
+ color: #000;
+ background-color: #0098df;
+ border-color: #0098df;
+}
+.btn-check:checked + .btn-outline-info:focus, .btn-check:active + .btn-outline-info:focus, .btn-outline-info:active:focus, .btn-outline-info.active:focus, .btn-outline-info.dropdown-toggle.show:focus {
+ box-shadow: 0 0 0 0.25rem rgba(0, 152, 223, 0.5);
+}
+.btn-outline-info:disabled, .btn-outline-info.disabled {
+ color: #0098df;
+ background-color: transparent;
+}
+
+.btn-outline-warning {
+ color: #ffc000;
+ border-color: #ffc000;
+}
+.btn-outline-warning:hover {
+ color: #000;
+ background-color: #ffc000;
+ border-color: #ffc000;
+}
+.btn-check:focus + .btn-outline-warning, .btn-outline-warning:focus {
+ box-shadow: 0 0 0 0.25rem rgba(255, 192, 0, 0.5);
+}
+.btn-check:checked + .btn-outline-warning, .btn-check:active + .btn-outline-warning, .btn-outline-warning:active, .btn-outline-warning.active, .btn-outline-warning.dropdown-toggle.show {
+ color: #000;
+ background-color: #ffc000;
+ border-color: #ffc000;
+}
+.btn-check:checked + .btn-outline-warning:focus, .btn-check:active + .btn-outline-warning:focus, .btn-outline-warning:active:focus, .btn-outline-warning.active:focus, .btn-outline-warning.dropdown-toggle.show:focus {
+ box-shadow: 0 0 0 0.25rem rgba(255, 192, 0, 0.5);
+}
+.btn-outline-warning:disabled, .btn-outline-warning.disabled {
+ color: #ffc000;
+ background-color: transparent;
+}
+
+.btn-outline-danger {
+ color: #e74018;
+ border-color: #e74018;
+}
+.btn-outline-danger:hover {
+ color: #000;
+ background-color: #e74018;
+ border-color: #e74018;
+}
+.btn-check:focus + .btn-outline-danger, .btn-outline-danger:focus {
+ box-shadow: 0 0 0 0.25rem rgba(231, 64, 24, 0.5);
+}
+.btn-check:checked + .btn-outline-danger, .btn-check:active + .btn-outline-danger, .btn-outline-danger:active, .btn-outline-danger.active, .btn-outline-danger.dropdown-toggle.show {
+ color: #000;
+ background-color: #e74018;
+ border-color: #e74018;
+}
+.btn-check:checked + .btn-outline-danger:focus, .btn-check:active + .btn-outline-danger:focus, .btn-outline-danger:active:focus, .btn-outline-danger.active:focus, .btn-outline-danger.dropdown-toggle.show:focus {
+ box-shadow: 0 0 0 0.25rem rgba(231, 64, 24, 0.5);
+}
+.btn-outline-danger:disabled, .btn-outline-danger.disabled {
+ color: #e74018;
+ background-color: transparent;
+}
+
+.btn-outline-light {
+ color: #f8f9fa;
+ border-color: #f8f9fa;
+}
+.btn-outline-light:hover {
+ color: #000;
+ background-color: #f8f9fa;
+ border-color: #f8f9fa;
+}
+.btn-check:focus + .btn-outline-light, .btn-outline-light:focus {
+ box-shadow: 0 0 0 0.25rem rgba(248, 249, 250, 0.5);
+}
+.btn-check:checked + .btn-outline-light, .btn-check:active + .btn-outline-light, .btn-outline-light:active, .btn-outline-light.active, .btn-outline-light.dropdown-toggle.show {
+ color: #000;
+ background-color: #f8f9fa;
+ border-color: #f8f9fa;
+}
+.btn-check:checked + .btn-outline-light:focus, .btn-check:active + .btn-outline-light:focus, .btn-outline-light:active:focus, .btn-outline-light.active:focus, .btn-outline-light.dropdown-toggle.show:focus {
+ box-shadow: 0 0 0 0.25rem rgba(248, 249, 250, 0.5);
+}
+.btn-outline-light:disabled, .btn-outline-light.disabled {
+ color: #f8f9fa;
+ background-color: transparent;
+}
+
+.btn-outline-dark {
+ color: #333;
+ border-color: #333;
+}
+.btn-outline-dark:hover {
+ color: #fff;
+ background-color: #333;
+ border-color: #333;
+}
+.btn-check:focus + .btn-outline-dark, .btn-outline-dark:focus {
+ box-shadow: 0 0 0 0.25rem rgba(51, 51, 51, 0.5);
+}
+.btn-check:checked + .btn-outline-dark, .btn-check:active + .btn-outline-dark, .btn-outline-dark:active, .btn-outline-dark.active, .btn-outline-dark.dropdown-toggle.show {
+ color: #fff;
+ background-color: #333;
+ border-color: #333;
+}
+.btn-check:checked + .btn-outline-dark:focus, .btn-check:active + .btn-outline-dark:focus, .btn-outline-dark:active:focus, .btn-outline-dark.active:focus, .btn-outline-dark.dropdown-toggle.show:focus {
+ box-shadow: 0 0 0 0.25rem rgba(51, 51, 51, 0.5);
+}
+.btn-outline-dark:disabled, .btn-outline-dark.disabled {
+ color: #333;
+ background-color: transparent;
+}
+
+.btn-link {
+ font-weight: 400;
+ color: #005dc5;
+ text-decoration: none;
+}
+.btn-link:hover {
+ color: #004a9e;
+}
+.btn-link:disabled, .btn-link.disabled {
+ color: #6c757d;
+}
+
+.btn-lg, .btn-group-lg > .btn {
+ padding: 0.5rem 1rem;
+ font-size: 1.25rem;
+ border-radius: 0.3rem;
+}
+
+.btn-sm, .btn-group-sm > .btn {
+ padding: 0.25rem 0.5rem;
+ font-size: 0.875rem;
+ border-radius: 0.2rem;
+}
+
+.fade {
+ transition: opacity 0.15s linear;
+}
+@media (prefers-reduced-motion: reduce) {
+ .fade {
+ transition: none;
+ }
+}
+.fade:not(.show) {
+ opacity: 0;
+}
+
+.collapse:not(.show) {
+ display: none;
+}
+
+.collapsing {
+ height: 0;
+ overflow: hidden;
+ transition: height 0.35s ease;
+}
+@media (prefers-reduced-motion: reduce) {
+ .collapsing {
+ transition: none;
+ }
+}
+
+.dropup,
+.dropend,
+.dropdown,
+.dropstart {
+ position: relative;
+}
+
+.dropdown-toggle {
+ white-space: nowrap;
+}
+
+.dropdown-menu {
+ position: absolute;
+ top: 100%;
+ left: 0;
+ z-index: 1000;
+ display: none;
+ min-width: 10rem;
+ padding: 0.5rem 0;
+ margin: 0.125rem 0 0;
+ font-size: 1rem;
+ color: #212529;
+ text-align: left;
+ list-style: none;
+ background-color: #fff;
+ background-clip: padding-box;
+ border: 1px solid rgba(0, 0, 0, 0.15);
+ border-radius: 0.25rem;
+}
+.dropdown-menu[style] {
+ right: auto !important;
+}
+
+.dropdown-menu-start {
+ --bs-position: start;
+ right: auto /* rtl:ignore */;
+ left: 0 /* rtl:ignore */;
+}
+
+.dropdown-menu-end {
+ --bs-position: end;
+ right: 0 /* rtl:ignore */;
+ left: auto /* rtl:ignore */;
+}
+
+@media (min-width: 576px) {
+ .dropdown-menu-sm-start {
+ --bs-position: start;
+ right: auto /* rtl:ignore */;
+ left: 0 /* rtl:ignore */;
+ }
+
+ .dropdown-menu-sm-end {
+ --bs-position: end;
+ right: 0 /* rtl:ignore */;
+ left: auto /* rtl:ignore */;
+ }
+}
+@media (min-width: 768px) {
+ .dropdown-menu-md-start {
+ --bs-position: start;
+ right: auto /* rtl:ignore */;
+ left: 0 /* rtl:ignore */;
+ }
+
+ .dropdown-menu-md-end {
+ --bs-position: end;
+ right: 0 /* rtl:ignore */;
+ left: auto /* rtl:ignore */;
+ }
+}
+@media (min-width: 992px) {
+ .dropdown-menu-lg-start {
+ --bs-position: start;
+ right: auto /* rtl:ignore */;
+ left: 0 /* rtl:ignore */;
+ }
+
+ .dropdown-menu-lg-end {
+ --bs-position: end;
+ right: 0 /* rtl:ignore */;
+ left: auto /* rtl:ignore */;
+ }
+}
+@media (min-width: 1200px) {
+ .dropdown-menu-xl-start {
+ --bs-position: start;
+ right: auto /* rtl:ignore */;
+ left: 0 /* rtl:ignore */;
+ }
+
+ .dropdown-menu-xl-end {
+ --bs-position: end;
+ right: 0 /* rtl:ignore */;
+ left: auto /* rtl:ignore */;
+ }
+}
+@media (min-width: 1400px) {
+ .dropdown-menu-xxl-start {
+ --bs-position: start;
+ right: auto /* rtl:ignore */;
+ left: 0 /* rtl:ignore */;
+ }
+
+ .dropdown-menu-xxl-end {
+ --bs-position: end;
+ right: 0 /* rtl:ignore */;
+ left: auto /* rtl:ignore */;
+ }
+}
+.dropup .dropdown-menu {
+ top: auto;
+ bottom: 100%;
+ margin-top: 0;
+ margin-bottom: 0.125rem;
+}
+.dropend .dropdown-menu {
+ top: 0;
+ right: auto;
+ left: 100%;
+ margin-top: 0;
+ margin-left: 0.125rem;
+}
+.dropend .dropdown-toggle::after {
+ vertical-align: 0;
+}
+
+.dropstart .dropdown-menu {
+ top: 0;
+ right: 100%;
+ left: auto;
+ margin-top: 0;
+ margin-right: 0.125rem;
+}
+.dropstart .dropdown-toggle::before {
+ vertical-align: 0;
+}
+
+.dropdown-divider {
+ height: 0;
+ margin: 0.5rem 0;
+ overflow: hidden;
+ border-top: 1px solid rgba(0, 0, 0, 0.15);
+}
+
+.dropdown-item {
+ display: block;
+ width: 100%;
+ padding: 0.25rem 1rem;
+ clear: both;
+ font-weight: 400;
+ color: #212529;
+ text-align: inherit;
+ white-space: nowrap;
+ background-color: transparent;
+ border: 0;
+}
+.dropdown-item:hover, .dropdown-item:focus {
+ color: #1e2125;
+ background-color: #f8f9fa;
+}
+.dropdown-item.active, .dropdown-item:active {
+ color: #fff;
+ text-decoration: none;
+ background-color: #005dc5;
+}
+.dropdown-item.disabled, .dropdown-item:disabled {
+ color: #6c757d;
+ pointer-events: none;
+ background-color: transparent;
+}
+
+.dropdown-menu.show {
+ display: block;
+}
+
+.dropdown-header {
+ display: block;
+ padding: 0.5rem 1rem;
+ margin-bottom: 0;
+ font-size: 0.875rem;
+ color: #6c757d;
+ white-space: nowrap;
+}
+
+.dropdown-item-text {
+ display: block;
+ padding: 0.25rem 1rem;
+ color: #212529;
+}
+
+.dropdown-menu-dark {
+ color: #dee2e6;
+ background-color: #343a40;
+ border-color: rgba(0, 0, 0, 0.15);
+}
+.dropdown-menu-dark .dropdown-item {
+ color: #dee2e6;
+}
+.dropdown-menu-dark .dropdown-item:hover, .dropdown-menu-dark .dropdown-item:focus {
+ color: #fff;
+ background-color: rgba(255, 255, 255, 0.15);
+}
+.dropdown-menu-dark .dropdown-item.active, .dropdown-menu-dark .dropdown-item:active {
+ color: #fff;
+ background-color: #005dc5;
+}
+.dropdown-menu-dark .dropdown-item.disabled, .dropdown-menu-dark .dropdown-item:disabled {
+ color: #adb5bd;
+}
+.dropdown-menu-dark .dropdown-divider {
+ border-color: rgba(0, 0, 0, 0.15);
+}
+.dropdown-menu-dark .dropdown-item-text {
+ color: #dee2e6;
+}
+.dropdown-menu-dark .dropdown-header {
+ color: #adb5bd;
+}
+
+.btn-group,
+.btn-group-vertical {
+ position: relative;
+ display: inline-flex;
+ vertical-align: middle;
+}
+.btn-group > .btn,
+.btn-group-vertical > .btn {
+ position: relative;
+ flex: 1 1 auto;
+}
+.btn-group > .btn-check:checked + .btn,
+.btn-group > .btn-check:focus + .btn,
+.btn-group > .btn:hover,
+.btn-group > .btn:focus,
+.btn-group > .btn:active,
+.btn-group > .btn.active,
+.btn-group-vertical > .btn-check:checked + .btn,
+.btn-group-vertical > .btn-check:focus + .btn,
+.btn-group-vertical > .btn:hover,
+.btn-group-vertical > .btn:focus,
+.btn-group-vertical > .btn:active,
+.btn-group-vertical > .btn.active {
+ z-index: 1;
+}
+
+.btn-toolbar {
+ display: flex;
+ flex-wrap: wrap;
+ justify-content: flex-start;
+}
+.btn-toolbar .input-group {
+ width: auto;
+}
+
+.btn-group > .btn:not(:first-child),
+.btn-group > .btn-group:not(:first-child) {
+ margin-left: -1px;
+}
+.btn-group > .btn:not(:last-child):not(.dropdown-toggle),
+.btn-group > .btn-group:not(:last-child) > .btn {
+ border-top-right-radius: 0;
+ border-bottom-right-radius: 0;
+}
+.btn-group > .btn:nth-child(n+3),
+.btn-group > :not(.btn-check) + .btn,
+.btn-group > .btn-group:not(:first-child) > .btn {
+ border-top-left-radius: 0;
+ border-bottom-left-radius: 0;
+}
+
+.dropdown-toggle-split {
+ padding-right: 0.5625rem;
+ padding-left: 0.5625rem;
+}
+.dropdown-toggle-split::after, .dropup .dropdown-toggle-split::after, .dropend .dropdown-toggle-split::after {
+ margin-left: 0;
+}
+.dropstart .dropdown-toggle-split::before {
+ margin-right: 0;
+}
+
+.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split {
+ padding-right: 0.375rem;
+ padding-left: 0.375rem;
+}
+
+.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split {
+ padding-right: 0.75rem;
+ padding-left: 0.75rem;
+}
+
+.btn-group-vertical {
+ flex-direction: column;
+ align-items: flex-start;
+ justify-content: center;
+}
+.btn-group-vertical > .btn,
+.btn-group-vertical > .btn-group {
+ width: 100%;
+}
+.btn-group-vertical > .btn:not(:first-child),
+.btn-group-vertical > .btn-group:not(:first-child) {
+ margin-top: -1px;
+}
+.btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle),
+.btn-group-vertical > .btn-group:not(:last-child) > .btn {
+ border-bottom-right-radius: 0;
+ border-bottom-left-radius: 0;
+}
+.btn-group-vertical > .btn ~ .btn,
+.btn-group-vertical > .btn-group:not(:first-child) > .btn {
+ border-top-left-radius: 0;
+ border-top-right-radius: 0;
+}
+
+.nav {
+ display: flex;
+ flex-wrap: wrap;
+ padding-left: 0;
+ margin-bottom: 0;
+ list-style: none;
+}
+
+.nav-link {
+ display: block;
+ padding: 0.5rem 1rem;
+ transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out;
+}
+@media (prefers-reduced-motion: reduce) {
+ .nav-link {
+ transition: none;
+ }
+}
+.nav-link.disabled {
+ color: #6c757d;
+ pointer-events: none;
+ cursor: default;
+}
+
+.nav-tabs {
+ border-bottom: 1px solid #dee2e6;
+}
+.nav-tabs .nav-link {
+ margin-bottom: -1px;
+ border: 1px solid transparent;
+ border-top-left-radius: 0.25rem;
+ border-top-right-radius: 0.25rem;
+}
+.nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus {
+ border-color: #e9ecef #e9ecef #dee2e6;
+}
+.nav-tabs .nav-link.disabled {
+ color: #6c757d;
+ background-color: transparent;
+ border-color: transparent;
+}
+.nav-tabs .nav-link.active,
+.nav-tabs .nav-item.show .nav-link {
+ color: #495057;
+ background-color: #fff;
+ border-color: #dee2e6 #dee2e6 #fff;
+}
+.nav-tabs .dropdown-menu {
+ margin-top: -1px;
+ border-top-left-radius: 0;
+ border-top-right-radius: 0;
+}
+
+.nav-pills .nav-link {
+ border-radius: 0.25rem;
+}
+.nav-pills .nav-link.active,
+.nav-pills .show > .nav-link {
+ color: #fff;
+ background-color: #ffc000;
+}
+
+.nav-fill > .nav-link,
+.nav-fill .nav-item {
+ flex: 1 1 auto;
+ text-align: center;
+}
+
+.nav-justified > .nav-link,
+.nav-justified .nav-item {
+ flex-basis: 0;
+ flex-grow: 1;
+ text-align: center;
+}
+
+.tab-content > .tab-pane {
+ display: none;
+}
+.tab-content > .active {
+ display: block;
+}
+
+.navbar {
+ position: relative;
+ display: flex;
+ flex-wrap: wrap;
+ align-items: center;
+ justify-content: space-between;
+ padding-top: 0.5rem;
+ padding-bottom: 0.5rem;
+}
+.navbar > .container,
+.navbar > .container-fluid,
+.navbar > .container-sm,
+.navbar > .container-md,
+.navbar > .container-lg,
+.navbar > .container-xl,
+.navbar > .container-xxl {
+ display: flex;
+ flex-wrap: inherit;
+ align-items: center;
+ justify-content: space-between;
+}
+.navbar-brand {
+ padding-top: 0.3125rem;
+ padding-bottom: 0.3125rem;
+ margin-right: 1rem;
+ font-size: 1.25rem;
+ white-space: nowrap;
+}
+.navbar-nav {
+ display: flex;
+ flex-direction: column;
+ padding-left: 0;
+ margin-bottom: 0;
+ list-style: none;
+}
+.navbar-nav .nav-link {
+ padding-right: 0;
+ padding-left: 0;
+}
+.navbar-nav .dropdown-menu {
+ position: static;
+}
+
+.navbar-text {
+ padding-top: 0.5rem;
+ padding-bottom: 0.5rem;
+}
+
+.navbar-collapse {
+ align-items: center;
+ width: 100%;
+}
+
+.navbar-toggler {
+ padding: 0.25rem 0.75rem;
+ font-size: 1.25rem;
+ line-height: 1;
+ background-color: transparent;
+ border: 1px solid transparent;
+ border-radius: 0.25rem;
+ transition: box-shadow 0.15s ease-in-out;
+}
+@media (prefers-reduced-motion: reduce) {
+ .navbar-toggler {
+ transition: none;
+ }
+}
+.navbar-toggler:hover {
+ text-decoration: none;
+}
+.navbar-toggler:focus {
+ text-decoration: none;
+ outline: 0;
+ box-shadow: 0 0 0 0.25rem;
+}
+
+.navbar-toggler-icon {
+ display: inline-block;
+ width: 1.5em;
+ height: 1.5em;
+ vertical-align: middle;
+ background-repeat: no-repeat;
+ background-position: center;
+ background-size: 100%;
+}
+
+@media (min-width: 576px) {
+ .navbar-expand-sm {
+ flex-wrap: nowrap;
+ justify-content: flex-start;
+ }
+ .navbar-expand-sm .navbar-nav {
+ flex-direction: row;
+ }
+ .navbar-expand-sm .navbar-nav .dropdown-menu {
+ position: absolute;
+ }
+ .navbar-expand-sm .navbar-nav .nav-link {
+ padding-right: 0.5rem;
+ padding-left: 0.5rem;
+ }
+ .navbar-expand-sm .navbar-collapse {
+ display: flex !important;
+ }
+ .navbar-expand-sm .navbar-toggler {
+ display: none;
+ }
+}
+@media (min-width: 768px) {
+ .navbar-expand-md {
+ flex-wrap: nowrap;
+ justify-content: flex-start;
+ }
+ .navbar-expand-md .navbar-nav {
+ flex-direction: row;
+ }
+ .navbar-expand-md .navbar-nav .dropdown-menu {
+ position: absolute;
+ }
+ .navbar-expand-md .navbar-nav .nav-link {
+ padding-right: 0.5rem;
+ padding-left: 0.5rem;
+ }
+ .navbar-expand-md .navbar-collapse {
+ display: flex !important;
+ }
+ .navbar-expand-md .navbar-toggler {
+ display: none;
+ }
+}
+@media (min-width: 992px) {
+ .navbar-expand-lg {
+ flex-wrap: nowrap;
+ justify-content: flex-start;
+ }
+ .navbar-expand-lg .navbar-nav {
+ flex-direction: row;
+ }
+ .navbar-expand-lg .navbar-nav .dropdown-menu {
+ position: absolute;
+ }
+ .navbar-expand-lg .navbar-nav .nav-link {
+ padding-right: 0.5rem;
+ padding-left: 0.5rem;
+ }
+ .navbar-expand-lg .navbar-collapse {
+ display: flex !important;
+ }
+ .navbar-expand-lg .navbar-toggler {
+ display: none;
+ }
+}
+@media (min-width: 1200px) {
+ .navbar-expand-xl {
+ flex-wrap: nowrap;
+ justify-content: flex-start;
+ }
+ .navbar-expand-xl .navbar-nav {
+ flex-direction: row;
+ }
+ .navbar-expand-xl .navbar-nav .dropdown-menu {
+ position: absolute;
+ }
+ .navbar-expand-xl .navbar-nav .nav-link {
+ padding-right: 0.5rem;
+ padding-left: 0.5rem;
+ }
+ .navbar-expand-xl .navbar-collapse {
+ display: flex !important;
+ }
+ .navbar-expand-xl .navbar-toggler {
+ display: none;
+ }
+}
+@media (min-width: 1400px) {
+ .navbar-expand-xxl {
+ flex-wrap: nowrap;
+ justify-content: flex-start;
+ }
+ .navbar-expand-xxl .navbar-nav {
+ flex-direction: row;
+ }
+ .navbar-expand-xxl .navbar-nav .dropdown-menu {
+ position: absolute;
+ }
+ .navbar-expand-xxl .navbar-nav .nav-link {
+ padding-right: 0.5rem;
+ padding-left: 0.5rem;
+ }
+ .navbar-expand-xxl .navbar-collapse {
+ display: flex !important;
+ }
+ .navbar-expand-xxl .navbar-toggler {
+ display: none;
+ }
+}
+.navbar-expand {
+ flex-wrap: nowrap;
+ justify-content: flex-start;
+}
+.navbar-expand .navbar-nav {
+ flex-direction: row;
+}
+.navbar-expand .navbar-nav .dropdown-menu {
+ position: absolute;
+}
+.navbar-expand .navbar-nav .nav-link {
+ padding-right: 0.5rem;
+ padding-left: 0.5rem;
+}
+.navbar-expand .navbar-collapse {
+ display: flex !important;
+}
+.navbar-expand .navbar-toggler {
+ display: none;
+}
+
+.navbar-light .navbar-brand {
+ color: rgba(0, 0, 0, 0.9);
+}
+.navbar-light .navbar-brand:hover, .navbar-light .navbar-brand:focus {
+ color: rgba(0, 0, 0, 0.9);
+}
+.navbar-light .navbar-nav .nav-link {
+ color: rgba(0, 0, 0, 0.55);
+}
+.navbar-light .navbar-nav .nav-link:hover, .navbar-light .navbar-nav .nav-link:focus {
+ color: rgba(0, 0, 0, 0.7);
+}
+.navbar-light .navbar-nav .nav-link.disabled {
+ color: rgba(0, 0, 0, 0.3);
+}
+.navbar-light .navbar-nav .show > .nav-link,
+.navbar-light .navbar-nav .nav-link.active {
+ color: rgba(0, 0, 0, 0.9);
+}
+.navbar-light .navbar-toggler {
+ color: rgba(0, 0, 0, 0.55);
+ border-color: rgba(0, 0, 0, 0.1);
+}
+.navbar-light .navbar-toggler-icon {
+ background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280, 0, 0, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
+}
+.navbar-light .navbar-text {
+ color: rgba(0, 0, 0, 0.55);
+}
+.navbar-light .navbar-text a,
+.navbar-light .navbar-text a:hover,
+.navbar-light .navbar-text a:focus {
+ color: rgba(0, 0, 0, 0.9);
+}
+
+.navbar-dark .navbar-brand {
+ color: #fff;
+}
+.navbar-dark .navbar-brand:hover, .navbar-dark .navbar-brand:focus {
+ color: #fff;
+}
+.navbar-dark .navbar-nav .nav-link {
+ color: rgba(255, 255, 255, 0.55);
+}
+.navbar-dark .navbar-nav .nav-link:hover, .navbar-dark .navbar-nav .nav-link:focus {
+ color: rgba(255, 255, 255, 0.75);
+}
+.navbar-dark .navbar-nav .nav-link.disabled {
+ color: rgba(255, 255, 255, 0.25);
+}
+.navbar-dark .navbar-nav .show > .nav-link,
+.navbar-dark .navbar-nav .nav-link.active {
+ color: #fff;
+}
+.navbar-dark .navbar-toggler {
+ color: rgba(255, 255, 255, 0.55);
+ border-color: rgba(255, 255, 255, 0.1);
+}
+.navbar-dark .navbar-toggler-icon {
+ background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
+}
+.navbar-dark .navbar-text {
+ color: rgba(255, 255, 255, 0.55);
+}
+.navbar-dark .navbar-text a,
+.navbar-dark .navbar-text a:hover,
+.navbar-dark .navbar-text a:focus {
+ color: #fff;
+}
+
+.card {
+ position: relative;
+ display: flex;
+ flex-direction: column;
+ min-width: 0;
+ word-wrap: break-word;
+ background-color: #fff;
+ background-clip: border-box;
+ border: 1px solid rgba(0, 0, 0, 0.125);
+ border-radius: 0.25rem;
+}
+.card > hr {
+ margin-right: 0;
+ margin-left: 0;
+}
+.card > .list-group {
+ border-top: inherit;
+ border-bottom: inherit;
+}
+.card > .list-group:first-child {
+ border-top-width: 0;
+ border-top-left-radius: calc(0.25rem - 1px);
+ border-top-right-radius: calc(0.25rem - 1px);
+}
+.card > .list-group:last-child {
+ border-bottom-width: 0;
+ border-bottom-right-radius: calc(0.25rem - 1px);
+ border-bottom-left-radius: calc(0.25rem - 1px);
+}
+.card > .card-header + .list-group,
+.card > .list-group + .card-footer {
+ border-top: 0;
+}
+
+.card-body {
+ flex: 1 1 auto;
+ padding: 1rem 1rem;
+}
+
+.card-title {
+ margin-bottom: 0.5rem;
+}
+
+.card-subtitle {
+ margin-top: -0.25rem;
+ margin-bottom: 0;
+}
+
+.card-text:last-child {
+ margin-bottom: 0;
+}
+
+.card-link:hover {
+ text-decoration: none;
+}
+.card-link + .card-link {
+ margin-left: 1rem /* rtl:ignore */;
+}
+
+.card-header {
+ padding: 0.5rem 1rem;
+ margin-bottom: 0;
+ background-color: rgba(0, 0, 0, 0.03);
+ border-bottom: 1px solid rgba(0, 0, 0, 0.125);
+}
+.card-header:first-child {
+ border-radius: calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0;
+}
+
+.card-footer {
+ padding: 0.5rem 1rem;
+ background-color: rgba(0, 0, 0, 0.03);
+ border-top: 1px solid rgba(0, 0, 0, 0.125);
+}
+.card-footer:last-child {
+ border-radius: 0 0 calc(0.25rem - 1px) calc(0.25rem - 1px);
+}
+
+.card-header-tabs {
+ margin-right: -0.5rem;
+ margin-bottom: -0.5rem;
+ margin-left: -0.5rem;
+ border-bottom: 0;
+}
+
+.card-header-pills {
+ margin-right: -0.5rem;
+ margin-left: -0.5rem;
+}
+
+.card-img-overlay {
+ position: absolute;
+ top: 0;
+ right: 0;
+ bottom: 0;
+ left: 0;
+ padding: 1rem;
+ border-radius: calc(0.25rem - 1px);
+}
+
+.card-img,
+.card-img-top,
+.card-img-bottom {
+ width: 100%;
+}
+
+.card-img,
+.card-img-top {
+ border-top-left-radius: calc(0.25rem - 1px);
+ border-top-right-radius: calc(0.25rem - 1px);
+}
+
+.card-img,
+.card-img-bottom {
+ border-bottom-right-radius: calc(0.25rem - 1px);
+ border-bottom-left-radius: calc(0.25rem - 1px);
+}
+
+.card-group > .card {
+ margin-bottom: 0.5rem;
+}
+@media (min-width: 576px) {
+ .card-group {
+ display: flex;
+ flex-flow: row wrap;
+ }
+ .card-group > .card {
+ flex: 1 0 0%;
+ margin-bottom: 0;
+ }
+ .card-group > .card + .card {
+ margin-left: 0;
+ border-left: 0;
+ }
+ .card-group > .card:not(:last-child) {
+ border-top-right-radius: 0;
+ border-bottom-right-radius: 0;
+ }
+ .card-group > .card:not(:last-child) .card-img-top,
+.card-group > .card:not(:last-child) .card-header {
+ border-top-right-radius: 0;
+ }
+ .card-group > .card:not(:last-child) .card-img-bottom,
+.card-group > .card:not(:last-child) .card-footer {
+ border-bottom-right-radius: 0;
+ }
+ .card-group > .card:not(:first-child) {
+ border-top-left-radius: 0;
+ border-bottom-left-radius: 0;
+ }
+ .card-group > .card:not(:first-child) .card-img-top,
+.card-group > .card:not(:first-child) .card-header {
+ border-top-left-radius: 0;
+ }
+ .card-group > .card:not(:first-child) .card-img-bottom,
+.card-group > .card:not(:first-child) .card-footer {
+ border-bottom-left-radius: 0;
+ }
+}
+
+.accordion-button {
+ position: relative;
+ display: flex;
+ align-items: center;
+ width: 100%;
+ padding: 1rem 1.25rem;
+ font-size: 1rem;
+ color: #212529;
+ background-color: transparent;
+ border: 1px solid rgba(0, 0, 0, 0.125);
+ border-radius: 0;
+ overflow-anchor: none;
+ transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, border-radius 0.15s ease;
+}
+@media (prefers-reduced-motion: reduce) {
+ .accordion-button {
+ transition: none;
+ }
+}
+.accordion-button.collapsed {
+ border-bottom-width: 0;
+}
+.accordion-button:not(.collapsed) {
+ color: #0054b1;
+ background-color: #e6eff9;
+}
+.accordion-button:not(.collapsed)::after {
+ background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%230054b1'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
+ transform: rotate(180deg);
+}
+.accordion-button::after {
+ flex-shrink: 0;
+ width: 1.25rem;
+ height: 1.25rem;
+ margin-left: auto;
+ content: "";
+ background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23212529'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
+ background-repeat: no-repeat;
+ background-size: 1.25rem;
+ transition: transform 0.2s ease-in-out;
+}
+@media (prefers-reduced-motion: reduce) {
+ .accordion-button::after {
+ transition: none;
+ }
+}
+.accordion-button:hover {
+ z-index: 2;
+}
+.accordion-button:focus {
+ z-index: 3;
+ border-color: #80aee2;
+ outline: 0;
+ box-shadow: none !important;
+}
+
+.accordion-header {
+ margin-bottom: 0;
+}
+
+.accordion-item:first-of-type .accordion-button {
+ border-top-left-radius: 0.25rem;
+ border-top-right-radius: 0.25rem;
+}
+.accordion-item:last-of-type .accordion-button.collapsed {
+ border-bottom-width: 1px;
+ border-bottom-right-radius: 0.25rem;
+ border-bottom-left-radius: 0.25rem;
+}
+.accordion-item:last-of-type .accordion-collapse {
+ border-bottom-width: 1px;
+ border-bottom-right-radius: 0.25rem;
+ border-bottom-left-radius: 0.25rem;
+}
+
+.accordion-collapse {
+ border: solid rgba(0, 0, 0, 0.125);
+ border-width: 0 1px;
+}
+
+.accordion-body {
+ padding: 1rem 1.25rem;
+}
+
+.accordion-flush .accordion-button {
+ border-right: 0;
+ border-left: 0;
+ border-radius: 0;
+}
+.accordion-flush .accordion-collapse {
+ border-width: 0;
+}
+.accordion-flush .accordion-item:first-of-type .accordion-button {
+ border-top-width: 0;
+ border-top-left-radius: 0;
+ border-top-right-radius: 0;
+}
+.accordion-flush .accordion-item:last-of-type .accordion-button.collapsed {
+ border-bottom-width: 0;
+ border-bottom-right-radius: 0;
+ border-bottom-left-radius: 0;
+}
+
+.breadcrumb {
+ display: flex;
+ flex-wrap: wrap;
+ padding: 0 0;
+ margin-bottom: 1rem;
+ list-style: none;
+}
+
+.breadcrumb-item + .breadcrumb-item {
+ padding-left: 0.5rem;
+}
+.breadcrumb-item + .breadcrumb-item::before {
+ float: left;
+ padding-right: 0.5rem;
+ color: #6c757d;
+ content: var(--bs-breadcrumb-divider, "/") /* rtl: var(--bs-breadcrumb-divider, "/") */;
+}
+.breadcrumb-item.active {
+ color: #6c757d;
+}
+
+.pagination {
+ display: flex;
+ padding-left: 0;
+ list-style: none;
+}
+
+.page-link {
+ position: relative;
+ display: block;
+ color: #005dc5;
+ background-color: #fff;
+ border: 1px solid #dee2e6;
+ transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
+}
+@media (prefers-reduced-motion: reduce) {
+ .page-link {
+ transition: none;
+ }
+}
+.page-link:hover {
+ z-index: 2;
+ color: #004a9e;
+ background-color: #e9ecef;
+ border-color: #dee2e6;
+}
+.page-link:focus {
+ z-index: 3;
+ color: #004a9e;
+ background-color: #e9ecef;
+ outline: 0;
+ box-shadow: 0 0 0 0.25rem rgba(0, 93, 197, 0.25);
+}
+
+.page-item:not(:first-child) .page-link {
+ margin-left: -1px;
+}
+.page-item.active .page-link {
+ z-index: 3;
+ color: #fff;
+ background-color: #005dc5;
+ border-color: #005dc5;
+}
+.page-item.disabled .page-link {
+ color: #6c757d;
+ pointer-events: none;
+ background-color: #fff;
+ border-color: #dee2e6;
+}
+
+.page-link {
+ padding: 0.375rem 0.75rem;
+}
+
+.page-item:first-child .page-link {
+ border-top-left-radius: 0.25rem;
+ border-bottom-left-radius: 0.25rem;
+}
+.page-item:last-child .page-link {
+ border-top-right-radius: 0.25rem;
+ border-bottom-right-radius: 0.25rem;
+}
+
+.pagination-lg .page-link {
+ padding: 0.75rem 1.5rem;
+ font-size: 1.25rem;
+}
+.pagination-lg .page-item:first-child .page-link {
+ border-top-left-radius: 0.3rem;
+ border-bottom-left-radius: 0.3rem;
+}
+.pagination-lg .page-item:last-child .page-link {
+ border-top-right-radius: 0.3rem;
+ border-bottom-right-radius: 0.3rem;
+}
+
+.pagination-sm .page-link {
+ padding: 0.25rem 0.5rem;
+ font-size: 0.875rem;
+}
+.pagination-sm .page-item:first-child .page-link {
+ border-top-left-radius: 0.2rem;
+ border-bottom-left-radius: 0.2rem;
+}
+.pagination-sm .page-item:last-child .page-link {
+ border-top-right-radius: 0.2rem;
+ border-bottom-right-radius: 0.2rem;
+}
+
+.badge {
+ display: inline-block;
+ padding: 0.35em 0.65em;
+ font-size: 0.75em;
+ font-weight: 700;
+ line-height: 1;
+ color: #fff;
+ text-align: center;
+ white-space: nowrap;
+ vertical-align: baseline;
+ border-radius: 0.25rem;
+}
+.badge:empty {
+ display: none;
+}
+
+.btn .badge {
+ position: relative;
+ top: -1px;
+}
+
+.alert {
+ position: relative;
+ padding: 1rem 1rem;
+ margin-bottom: 1rem;
+ border: 1px solid transparent;
+ border-radius: 0.25rem;
+}
+
+.alert-heading {
+ color: inherit;
+}
+
+.alert-link {
+ font-weight: 700;
+}
+
+.alert-dismissible {
+ padding-right: 3rem;
+}
+.alert-dismissible .btn-close {
+ position: absolute;
+ top: 0;
+ right: 0;
+ z-index: 2;
+ padding: 1.25rem 1rem;
+}
+
+.alert-primary {
+ color: #003876;
+ background-color: #ccdff3;
+ border-color: #b3ceee;
+}
+.alert-primary .alert-link {
+ color: #002d5e;
+}
+
+.alert-secondary {
+ color: #664d00;
+ background-color: #fff2cc;
+ border-color: #ffecb3;
+}
+.alert-secondary .alert-link {
+ color: #523e00;
+}
+
+.alert-success {
+ color: #3c5000;
+ background-color: #eaf4cc;
+ border-color: #e0efb3;
+}
+.alert-success .alert-link {
+ color: #304000;
+}
+
+.alert-info {
+ color: #005b86;
+ background-color: #cceaf9;
+ border-color: #b3e0f5;
+}
+.alert-info .alert-link {
+ color: #00496b;
+}
+
+.alert-warning {
+ color: #664d00;
+ background-color: #fff2cc;
+ border-color: #ffecb3;
+}
+.alert-warning .alert-link {
+ color: #523e00;
+}
+
+.alert-danger {
+ color: #8b260e;
+ background-color: #fad9d1;
+ border-color: #f8c6ba;
+}
+.alert-danger .alert-link {
+ color: #6f1e0b;
+}
+
+.alert-light {
+ color: #636464;
+ background-color: #fefefe;
+ border-color: #fdfdfe;
+}
+.alert-light .alert-link {
+ color: #4f5050;
+}
+
+.alert-dark {
+ color: #1f1f1f;
+ background-color: #d6d6d6;
+ border-color: #c2c2c2;
+}
+.alert-dark .alert-link {
+ color: #191919;
+}
+
+@-webkit-keyframes progress-bar-stripes {
+ 0% {
+ background-position-x: 1rem;
+ }
+}
+
+@keyframes progress-bar-stripes {
+ 0% {
+ background-position-x: 1rem;
+ }
+}
+.progress {
+ display: flex;
+ height: 1rem;
+ overflow: hidden;
+ font-size: 0.75rem;
+ background-color: #e9ecef;
+ border-radius: 0.25rem;
+}
+
+.progress-bar {
+ display: flex;
+ flex-direction: column;
+ justify-content: center;
+ overflow: hidden;
+ color: #fff;
+ text-align: center;
+ white-space: nowrap;
+ background-color: #005dc5;
+ transition: width 0.6s ease;
+}
+@media (prefers-reduced-motion: reduce) {
+ .progress-bar {
+ transition: none;
+ }
+}
+
+.progress-bar-striped {
+ background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+ background-size: 1rem 1rem;
+}
+
+.progress-bar-animated {
+ -webkit-animation: 1s linear infinite progress-bar-stripes;
+ animation: 1s linear infinite progress-bar-stripes;
+}
+@media (prefers-reduced-motion: reduce) {
+ .progress-bar-animated {
+ -webkit-animation: none;
+ animation: none;
+ }
+}
+
+.list-group {
+ display: flex;
+ flex-direction: column;
+ padding-left: 0;
+ margin-bottom: 0;
+ border-radius: 0.25rem;
+}
+
+.list-group-item-action {
+ width: 100%;
+ color: #495057;
+ text-align: inherit;
+}
+.list-group-item-action:hover, .list-group-item-action:focus {
+ z-index: 1;
+ color: #495057;
+ text-decoration: none;
+ background-color: #f8f9fa;
+}
+.list-group-item-action:active {
+ color: #212529;
+ background-color: #e9ecef;
+}
+
+.list-group-item {
+ position: relative;
+ display: block;
+ padding: 0.5rem 1rem;
+ background-color: #fff;
+ border: 1px solid rgba(0, 0, 0, 0.125);
+}
+.list-group-item:first-child {
+ border-top-left-radius: inherit;
+ border-top-right-radius: inherit;
+}
+.list-group-item:last-child {
+ border-bottom-right-radius: inherit;
+ border-bottom-left-radius: inherit;
+}
+.list-group-item.disabled, .list-group-item:disabled {
+ color: #6c757d;
+ pointer-events: none;
+ background-color: #fff;
+}
+.list-group-item.active {
+ z-index: 2;
+ color: #fff;
+ background-color: #005dc5;
+ border-color: #005dc5;
+}
+.list-group-item + .list-group-item {
+ border-top-width: 0;
+}
+.list-group-item + .list-group-item.active {
+ margin-top: -1px;
+ border-top-width: 1px;
+}
+
+.list-group-horizontal {
+ flex-direction: row;
+}
+.list-group-horizontal > .list-group-item:first-child {
+ border-bottom-left-radius: 0.25rem;
+ border-top-right-radius: 0;
+}
+.list-group-horizontal > .list-group-item:last-child {
+ border-top-right-radius: 0.25rem;
+ border-bottom-left-radius: 0;
+}
+.list-group-horizontal > .list-group-item.active {
+ margin-top: 0;
+}
+.list-group-horizontal > .list-group-item + .list-group-item {
+ border-top-width: 1px;
+ border-left-width: 0;
+}
+.list-group-horizontal > .list-group-item + .list-group-item.active {
+ margin-left: -1px;
+ border-left-width: 1px;
+}
+
+@media (min-width: 576px) {
+ .list-group-horizontal-sm {
+ flex-direction: row;
+ }
+ .list-group-horizontal-sm > .list-group-item:first-child {
+ border-bottom-left-radius: 0.25rem;
+ border-top-right-radius: 0;
+ }
+ .list-group-horizontal-sm > .list-group-item:last-child {
+ border-top-right-radius: 0.25rem;
+ border-bottom-left-radius: 0;
+ }
+ .list-group-horizontal-sm > .list-group-item.active {
+ margin-top: 0;
+ }
+ .list-group-horizontal-sm > .list-group-item + .list-group-item {
+ border-top-width: 1px;
+ border-left-width: 0;
+ }
+ .list-group-horizontal-sm > .list-group-item + .list-group-item.active {
+ margin-left: -1px;
+ border-left-width: 1px;
+ }
+}
+@media (min-width: 768px) {
+ .list-group-horizontal-md {
+ flex-direction: row;
+ }
+ .list-group-horizontal-md > .list-group-item:first-child {
+ border-bottom-left-radius: 0.25rem;
+ border-top-right-radius: 0;
+ }
+ .list-group-horizontal-md > .list-group-item:last-child {
+ border-top-right-radius: 0.25rem;
+ border-bottom-left-radius: 0;
+ }
+ .list-group-horizontal-md > .list-group-item.active {
+ margin-top: 0;
+ }
+ .list-group-horizontal-md > .list-group-item + .list-group-item {
+ border-top-width: 1px;
+ border-left-width: 0;
+ }
+ .list-group-horizontal-md > .list-group-item + .list-group-item.active {
+ margin-left: -1px;
+ border-left-width: 1px;
+ }
+}
+@media (min-width: 992px) {
+ .list-group-horizontal-lg {
+ flex-direction: row;
+ }
+ .list-group-horizontal-lg > .list-group-item:first-child {
+ border-bottom-left-radius: 0.25rem;
+ border-top-right-radius: 0;
+ }
+ .list-group-horizontal-lg > .list-group-item:last-child {
+ border-top-right-radius: 0.25rem;
+ border-bottom-left-radius: 0;
+ }
+ .list-group-horizontal-lg > .list-group-item.active {
+ margin-top: 0;
+ }
+ .list-group-horizontal-lg > .list-group-item + .list-group-item {
+ border-top-width: 1px;
+ border-left-width: 0;
+ }
+ .list-group-horizontal-lg > .list-group-item + .list-group-item.active {
+ margin-left: -1px;
+ border-left-width: 1px;
+ }
+}
+@media (min-width: 1200px) {
+ .list-group-horizontal-xl {
+ flex-direction: row;
+ }
+ .list-group-horizontal-xl > .list-group-item:first-child {
+ border-bottom-left-radius: 0.25rem;
+ border-top-right-radius: 0;
+ }
+ .list-group-horizontal-xl > .list-group-item:last-child {
+ border-top-right-radius: 0.25rem;
+ border-bottom-left-radius: 0;
+ }
+ .list-group-horizontal-xl > .list-group-item.active {
+ margin-top: 0;
+ }
+ .list-group-horizontal-xl > .list-group-item + .list-group-item {
+ border-top-width: 1px;
+ border-left-width: 0;
+ }
+ .list-group-horizontal-xl > .list-group-item + .list-group-item.active {
+ margin-left: -1px;
+ border-left-width: 1px;
+ }
+}
+@media (min-width: 1400px) {
+ .list-group-horizontal-xxl {
+ flex-direction: row;
+ }
+ .list-group-horizontal-xxl > .list-group-item:first-child {
+ border-bottom-left-radius: 0.25rem;
+ border-top-right-radius: 0;
+ }
+ .list-group-horizontal-xxl > .list-group-item:last-child {
+ border-top-right-radius: 0.25rem;
+ border-bottom-left-radius: 0;
+ }
+ .list-group-horizontal-xxl > .list-group-item.active {
+ margin-top: 0;
+ }
+ .list-group-horizontal-xxl > .list-group-item + .list-group-item {
+ border-top-width: 1px;
+ border-left-width: 0;
+ }
+ .list-group-horizontal-xxl > .list-group-item + .list-group-item.active {
+ margin-left: -1px;
+ border-left-width: 1px;
+ }
+}
+.list-group-flush {
+ border-radius: 0;
+}
+.list-group-flush > .list-group-item {
+ border-width: 0 0 1px;
+}
+.list-group-flush > .list-group-item:last-child {
+ border-bottom-width: 0;
+}
+
+.list-group-item-primary {
+ color: #003876;
+ background-color: #ccdff3;
+}
+.list-group-item-primary.list-group-item-action:hover, .list-group-item-primary.list-group-item-action:focus {
+ color: #003876;
+ background-color: #b8c9db;
+}
+.list-group-item-primary.list-group-item-action.active {
+ color: #fff;
+ background-color: #003876;
+ border-color: #003876;
+}
+
+.list-group-item-secondary {
+ color: #664d00;
+ background-color: #fff2cc;
+}
+.list-group-item-secondary.list-group-item-action:hover, .list-group-item-secondary.list-group-item-action:focus {
+ color: #664d00;
+ background-color: #e6dab8;
+}
+.list-group-item-secondary.list-group-item-action.active {
+ color: #fff;
+ background-color: #664d00;
+ border-color: #664d00;
+}
+
+.list-group-item-success {
+ color: #3c5000;
+ background-color: #eaf4cc;
+}
+.list-group-item-success.list-group-item-action:hover, .list-group-item-success.list-group-item-action:focus {
+ color: #3c5000;
+ background-color: #d3dcb8;
+}
+.list-group-item-success.list-group-item-action.active {
+ color: #fff;
+ background-color: #3c5000;
+ border-color: #3c5000;
+}
+
+.list-group-item-info {
+ color: #005b86;
+ background-color: #cceaf9;
+}
+.list-group-item-info.list-group-item-action:hover, .list-group-item-info.list-group-item-action:focus {
+ color: #005b86;
+ background-color: #b8d3e0;
+}
+.list-group-item-info.list-group-item-action.active {
+ color: #fff;
+ background-color: #005b86;
+ border-color: #005b86;
+}
+
+.list-group-item-warning {
+ color: #664d00;
+ background-color: #fff2cc;
+}
+.list-group-item-warning.list-group-item-action:hover, .list-group-item-warning.list-group-item-action:focus {
+ color: #664d00;
+ background-color: #e6dab8;
+}
+.list-group-item-warning.list-group-item-action.active {
+ color: #fff;
+ background-color: #664d00;
+ border-color: #664d00;
+}
+
+.list-group-item-danger {
+ color: #8b260e;
+ background-color: #fad9d1;
+}
+.list-group-item-danger.list-group-item-action:hover, .list-group-item-danger.list-group-item-action:focus {
+ color: #8b260e;
+ background-color: #e1c3bc;
+}
+.list-group-item-danger.list-group-item-action.active {
+ color: #fff;
+ background-color: #8b260e;
+ border-color: #8b260e;
+}
+
+.list-group-item-light {
+ color: #636464;
+ background-color: #fefefe;
+}
+.list-group-item-light.list-group-item-action:hover, .list-group-item-light.list-group-item-action:focus {
+ color: #636464;
+ background-color: #e5e5e5;
+}
+.list-group-item-light.list-group-item-action.active {
+ color: #fff;
+ background-color: #636464;
+ border-color: #636464;
+}
+
+.list-group-item-dark {
+ color: #1f1f1f;
+ background-color: #d6d6d6;
+}
+.list-group-item-dark.list-group-item-action:hover, .list-group-item-dark.list-group-item-action:focus {
+ color: #1f1f1f;
+ background-color: #c1c1c1;
+}
+.list-group-item-dark.list-group-item-action.active {
+ color: #fff;
+ background-color: #1f1f1f;
+ border-color: #1f1f1f;
+}
+
+.btn-close {
+ box-sizing: content-box;
+ width: 1em;
+ height: 1em;
+ padding: 0.25em 0.25em;
+ color: #000;
+ background: transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat;
+ border: 0;
+ border-radius: 0.25rem;
+ opacity: 0.5;
+}
+.btn-close:hover {
+ color: #000;
+ text-decoration: none;
+ opacity: 0.75;
+}
+.btn-close:focus {
+ outline: none;
+ box-shadow: 0 0 0 0.25rem rgba(0, 93, 197, 0.25);
+ opacity: 1;
+}
+.btn-close:disabled, .btn-close.disabled {
+ pointer-events: none;
+ -webkit-user-select: none;
+ -moz-user-select: none;
+ -ms-user-select: none;
+ user-select: none;
+ opacity: 0.25;
+}
+
+.btn-close-white {
+ filter: invert(1) grayscale(100%) brightness(200%);
+}
+
+.toast {
+ width: 350px;
+ max-width: 100%;
+ font-size: 0.875rem;
+ pointer-events: auto;
+ background-color: rgba(255, 255, 255, 0.85);
+ background-clip: padding-box;
+ border: 1px solid rgba(0, 0, 0, 0.1);
+ box-shadow: 0 0 0.4px rgba(0, 0, 0, 0.02), 0 0 0.9px rgba(0, 0, 0, 0.028), 0 0 1.8px rgba(0, 0, 0, 0.035), 0 0 3.1px rgba(0, 0, 0, 0.042), 0 0 5.8px rgba(0, 0, 0, 0.05), 0 0 14px rgba(0, 0, 0, 0.07);
+ border-radius: 0.25rem;
+}
+.toast:not(.showing):not(.show) {
+ opacity: 0;
+}
+.toast.hide {
+ display: none;
+}
+
+.toast-container {
+ width: -webkit-max-content;
+ width: -moz-max-content;
+ width: max-content;
+ max-width: 100%;
+ pointer-events: none;
+}
+.toast-container > :not(:last-child) {
+ margin-bottom: 0;
+}
+
+.toast-header {
+ display: flex;
+ align-items: center;
+ padding: 0.5rem 0.75rem;
+ color: #6c757d;
+ background-color: rgba(255, 255, 255, 0.85);
+ background-clip: padding-box;
+ border-bottom: 1px solid rgba(0, 0, 0, 0.05);
+ border-top-left-radius: calc(0.25rem - 1px);
+ border-top-right-radius: calc(0.25rem - 1px);
+}
+.toast-header .btn-close {
+ margin-right: -0.375rem;
+ margin-left: 0.75rem;
+}
+
+.toast-body {
+ padding: 0.75rem;
+}
+
+.modal-open {
+ overflow: hidden;
+}
+.modal-open .modal {
+ overflow-x: hidden;
+ overflow-y: auto;
+}
+
+.modal {
+ position: fixed;
+ top: 0;
+ left: 0;
+ z-index: 1050;
+ display: none;
+ width: 100%;
+ height: 100%;
+ overflow: hidden;
+ outline: 0;
+}
+
+.modal-dialog {
+ position: relative;
+ width: auto;
+ margin: 0.5rem;
+ pointer-events: none;
+}
+.modal.fade .modal-dialog {
+ transition: transform 0.3s ease-out;
+ transform: translate(0, -50px);
+}
+@media (prefers-reduced-motion: reduce) {
+ .modal.fade .modal-dialog {
+ transition: none;
+ }
+}
+.modal.show .modal-dialog {
+ transform: none;
+}
+.modal.modal-static .modal-dialog {
+ transform: scale(1.02);
+}
+
+.modal-dialog-scrollable {
+ height: calc(100% - 1rem);
+}
+.modal-dialog-scrollable .modal-content {
+ max-height: 100%;
+ overflow: hidden;
+}
+.modal-dialog-scrollable .modal-body {
+ overflow-y: auto;
+}
+
+.modal-dialog-centered {
+ display: flex;
+ align-items: center;
+ min-height: calc(100% - 1rem);
+}
+
+.modal-content {
+ position: relative;
+ display: flex;
+ flex-direction: column;
+ width: 100%;
+ pointer-events: auto;
+ background-color: #fff;
+ background-clip: padding-box;
+ border: 1px solid rgba(0, 0, 0, 0.2);
+ border-radius: 0.3rem;
+ outline: 0;
+}
+
+.modal-backdrop {
+ position: fixed;
+ top: 0;
+ left: 0;
+ z-index: 1040;
+ width: 100vw;
+ height: 100vh;
+ background-color: #000;
+}
+.modal-backdrop.fade {
+ opacity: 0;
+}
+.modal-backdrop.show {
+ opacity: 0.5;
+}
+
+.modal-header {
+ display: flex;
+ flex-shrink: 0;
+ align-items: center;
+ justify-content: space-between;
+ padding: 1rem 1rem;
+ border-bottom: 1px solid #dee2e6;
+ border-top-left-radius: calc(0.3rem - 1px);
+ border-top-right-radius: calc(0.3rem - 1px);
+}
+.modal-header .btn-close {
+ padding: 0.5rem 0.5rem;
+ margin: -0.5rem -0.5rem -0.5rem auto;
+}
+
+.modal-title {
+ margin-bottom: 0;
+ line-height: 1.5;
+}
+
+.modal-body {
+ position: relative;
+ flex: 1 1 auto;
+ padding: 1rem;
+}
+
+.modal-footer {
+ display: flex;
+ flex-wrap: wrap;
+ flex-shrink: 0;
+ align-items: center;
+ justify-content: flex-end;
+ padding: 0.75rem;
+ border-top: 1px solid #dee2e6;
+ border-bottom-right-radius: calc(0.3rem - 1px);
+ border-bottom-left-radius: calc(0.3rem - 1px);
+}
+.modal-footer > * {
+ margin: 0.25rem;
+}
+
+.modal-scrollbar-measure {
+ position: absolute;
+ top: -9999px;
+ width: 50px;
+ height: 50px;
+ overflow: scroll;
+}
+
+@media (min-width: 576px) {
+ .modal-dialog {
+ max-width: 500px;
+ margin: 1.75rem auto;
+ }
+
+ .modal-dialog-scrollable {
+ height: calc(100% - 3.5rem);
+ }
+
+ .modal-dialog-centered {
+ min-height: calc(100% - 3.5rem);
+ }
+
+ .modal-sm {
+ max-width: 300px;
+ }
+}
+@media (min-width: 992px) {
+ .modal-lg,
+.modal-xl {
+ max-width: 800px;
+ }
+}
+@media (min-width: 1200px) {
+ .modal-xl {
+ max-width: 1140px;
+ }
+}
+.modal-fullscreen {
+ width: 100vw;
+ max-width: none;
+ height: 100%;
+ margin: 0;
+}
+.modal-fullscreen .modal-content {
+ height: 100%;
+ border: 0;
+ border-radius: 0;
+}
+.modal-fullscreen .modal-header {
+ border-radius: 0;
+}
+.modal-fullscreen .modal-body {
+ overflow-y: auto;
+}
+.modal-fullscreen .modal-footer {
+ border-radius: 0;
+}
+
+@media (max-width: 575.98px) {
+ .modal-fullscreen-sm-down {
+ width: 100vw;
+ max-width: none;
+ height: 100%;
+ margin: 0;
+ }
+ .modal-fullscreen-sm-down .modal-content {
+ height: 100%;
+ border: 0;
+ border-radius: 0;
+ }
+ .modal-fullscreen-sm-down .modal-header {
+ border-radius: 0;
+ }
+ .modal-fullscreen-sm-down .modal-body {
+ overflow-y: auto;
+ }
+ .modal-fullscreen-sm-down .modal-footer {
+ border-radius: 0;
+ }
+}
+@media (max-width: 767.98px) {
+ .modal-fullscreen-md-down {
+ width: 100vw;
+ max-width: none;
+ height: 100%;
+ margin: 0;
+ }
+ .modal-fullscreen-md-down .modal-content {
+ height: 100%;
+ border: 0;
+ border-radius: 0;
+ }
+ .modal-fullscreen-md-down .modal-header {
+ border-radius: 0;
+ }
+ .modal-fullscreen-md-down .modal-body {
+ overflow-y: auto;
+ }
+ .modal-fullscreen-md-down .modal-footer {
+ border-radius: 0;
+ }
+}
+@media (max-width: 991.98px) {
+ .modal-fullscreen-lg-down {
+ width: 100vw;
+ max-width: none;
+ height: 100%;
+ margin: 0;
+ }
+ .modal-fullscreen-lg-down .modal-content {
+ height: 100%;
+ border: 0;
+ border-radius: 0;
+ }
+ .modal-fullscreen-lg-down .modal-header {
+ border-radius: 0;
+ }
+ .modal-fullscreen-lg-down .modal-body {
+ overflow-y: auto;
+ }
+ .modal-fullscreen-lg-down .modal-footer {
+ border-radius: 0;
+ }
+}
+@media (max-width: 1199.98px) {
+ .modal-fullscreen-xl-down {
+ width: 100vw;
+ max-width: none;
+ height: 100%;
+ margin: 0;
+ }
+ .modal-fullscreen-xl-down .modal-content {
+ height: 100%;
+ border: 0;
+ border-radius: 0;
+ }
+ .modal-fullscreen-xl-down .modal-header {
+ border-radius: 0;
+ }
+ .modal-fullscreen-xl-down .modal-body {
+ overflow-y: auto;
+ }
+ .modal-fullscreen-xl-down .modal-footer {
+ border-radius: 0;
+ }
+}
+@media (max-width: 1399.98px) {
+ .modal-fullscreen-xxl-down {
+ width: 100vw;
+ max-width: none;
+ height: 100%;
+ margin: 0;
+ }
+ .modal-fullscreen-xxl-down .modal-content {
+ height: 100%;
+ border: 0;
+ border-radius: 0;
+ }
+ .modal-fullscreen-xxl-down .modal-header {
+ border-radius: 0;
+ }
+ .modal-fullscreen-xxl-down .modal-body {
+ overflow-y: auto;
+ }
+ .modal-fullscreen-xxl-down .modal-footer {
+ border-radius: 0;
+ }
+}
+.tooltip {
+ position: absolute;
+ z-index: 1070;
+ display: block;
+ margin: 0;
+ font-family: var(--bs-font-sans-serif);
+ font-style: normal;
+ font-weight: 400;
+ line-height: 1.5;
+ text-align: left;
+ text-align: start;
+ text-decoration: none;
+ text-shadow: none;
+ text-transform: none;
+ letter-spacing: normal;
+ word-break: normal;
+ word-spacing: normal;
+ white-space: normal;
+ line-break: auto;
+ font-size: 0.875rem;
+ word-wrap: break-word;
+ opacity: 0;
+}
+.tooltip.show {
+ opacity: 0.9;
+}
+.tooltip .tooltip-arrow {
+ position: absolute;
+ display: block;
+ width: 0.8rem;
+ height: 0.4rem;
+}
+.tooltip .tooltip-arrow::before {
+ position: absolute;
+ content: "";
+ border-color: transparent;
+ border-style: solid;
+}
+
+.bs-tooltip-top, .bs-tooltip-auto[data-popper-placement^=top] {
+ padding: 0.4rem 0;
+}
+.bs-tooltip-top .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow {
+ bottom: 0;
+}
+.bs-tooltip-top .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow::before {
+ top: -1px;
+ border-width: 0.4rem 0.4rem 0;
+ border-top-color: #000;
+}
+
+.bs-tooltip-end, .bs-tooltip-auto[data-popper-placement^=right] {
+ padding: 0 0.4rem;
+}
+.bs-tooltip-end .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow {
+ left: 0;
+ width: 0.4rem;
+ height: 0.8rem;
+}
+.bs-tooltip-end .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow::before {
+ right: -1px;
+ border-width: 0.4rem 0.4rem 0.4rem 0;
+ border-right-color: #000;
+}
+
+.bs-tooltip-bottom, .bs-tooltip-auto[data-popper-placement^=bottom] {
+ padding: 0.4rem 0;
+}
+.bs-tooltip-bottom .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow {
+ top: 0;
+}
+.bs-tooltip-bottom .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow::before {
+ bottom: -1px;
+ border-width: 0 0.4rem 0.4rem;
+ border-bottom-color: #000;
+}
+
+.bs-tooltip-start, .bs-tooltip-auto[data-popper-placement^=left] {
+ padding: 0 0.4rem;
+}
+.bs-tooltip-start .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow {
+ right: 0;
+ width: 0.4rem;
+ height: 0.8rem;
+}
+.bs-tooltip-start .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow::before {
+ left: -1px;
+ border-width: 0.4rem 0 0.4rem 0.4rem;
+ border-left-color: #000;
+}
+
+.tooltip-inner {
+ max-width: 200px;
+ padding: 0.25rem 0.5rem;
+ color: #fff;
+ text-align: center;
+ background-color: #000;
+ border-radius: 0.25rem;
+}
+
+.popover {
+ position: absolute;
+ top: 0;
+ left: 0 /* rtl:ignore */;
+ z-index: 1060;
+ display: block;
+ max-width: 276px;
+ font-family: var(--bs-font-sans-serif);
+ font-style: normal;
+ font-weight: 400;
+ line-height: 1.5;
+ text-align: left;
+ text-align: start;
+ text-decoration: none;
+ text-shadow: none;
+ text-transform: none;
+ letter-spacing: normal;
+ word-break: normal;
+ word-spacing: normal;
+ white-space: normal;
+ line-break: auto;
+ font-size: 0.875rem;
+ word-wrap: break-word;
+ background-color: #fff;
+ background-clip: padding-box;
+ border: 1px solid rgba(0, 0, 0, 0.2);
+ border-radius: 0.3rem;
+}
+.popover .popover-arrow {
+ position: absolute;
+ display: block;
+ width: 1rem;
+ height: 0.5rem;
+ margin: 0 0.3rem;
+}
+.popover .popover-arrow::before, .popover .popover-arrow::after {
+ position: absolute;
+ display: block;
+ content: "";
+ border-color: transparent;
+ border-style: solid;
+}
+
+.bs-popover-top, .bs-popover-auto[data-popper-placement^=top] {
+ margin-bottom: 0.5rem !important;
+}
+.bs-popover-top > .popover-arrow, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow {
+ bottom: calc(-0.5rem - 1px);
+}
+.bs-popover-top > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow::before {
+ bottom: 0;
+ border-width: 0.5rem 0.5rem 0;
+ border-top-color: rgba(0, 0, 0, 0.25);
+}
+.bs-popover-top > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow::after {
+ bottom: 1px;
+ border-width: 0.5rem 0.5rem 0;
+ border-top-color: #fff;
+}
+
+.bs-popover-end, .bs-popover-auto[data-popper-placement^=right] {
+ margin-left: 0.5rem !important;
+}
+.bs-popover-end > .popover-arrow, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow {
+ left: calc(-0.5rem - 1px);
+ width: 0.5rem;
+ height: 1rem;
+ margin: 0.3rem 0;
+}
+.bs-popover-end > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow::before {
+ left: 0;
+ border-width: 0.5rem 0.5rem 0.5rem 0;
+ border-right-color: rgba(0, 0, 0, 0.25);
+}
+.bs-popover-end > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow::after {
+ left: 1px;
+ border-width: 0.5rem 0.5rem 0.5rem 0;
+ border-right-color: #fff;
+}
+
+.bs-popover-bottom, .bs-popover-auto[data-popper-placement^=bottom] {
+ margin-top: 0.5rem !important;
+}
+.bs-popover-bottom > .popover-arrow, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow {
+ top: calc(-0.5rem - 1px);
+}
+.bs-popover-bottom > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::before {
+ top: 0;
+ border-width: 0 0.5rem 0.5rem 0.5rem;
+ border-bottom-color: rgba(0, 0, 0, 0.25);
+}
+.bs-popover-bottom > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::after {
+ top: 1px;
+ border-width: 0 0.5rem 0.5rem 0.5rem;
+ border-bottom-color: #fff;
+}
+.bs-popover-bottom .popover-header::before, .bs-popover-auto[data-popper-placement^=bottom] .popover-header::before {
+ position: absolute;
+ top: 0;
+ left: 50%;
+ display: block;
+ width: 1rem;
+ margin-left: -0.5rem;
+ content: "";
+ border-bottom: 1px solid #f0f0f0;
+}
+
+.bs-popover-start, .bs-popover-auto[data-popper-placement^=left] {
+ margin-right: 0.5rem !important;
+}
+.bs-popover-start > .popover-arrow, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow {
+ right: calc(-0.5rem - 1px);
+ width: 0.5rem;
+ height: 1rem;
+ margin: 0.3rem 0;
+}
+.bs-popover-start > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow::before {
+ right: 0;
+ border-width: 0.5rem 0 0.5rem 0.5rem;
+ border-left-color: rgba(0, 0, 0, 0.25);
+}
+.bs-popover-start > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow::after {
+ right: 1px;
+ border-width: 0.5rem 0 0.5rem 0.5rem;
+ border-left-color: #fff;
+}
+
+.popover-header {
+ padding: 0.5rem 1rem;
+ margin-bottom: 0;
+ font-size: 1rem;
+ background-color: #f0f0f0;
+ border-bottom: 1px solid #d8d8d8;
+ border-top-left-radius: calc(0.3rem - 1px);
+ border-top-right-radius: calc(0.3rem - 1px);
+}
+.popover-header:empty {
+ display: none;
+}
+
+.popover-body {
+ padding: 1rem 1rem;
+ color: #212529;
+}
+
+.carousel {
+ position: relative;
+}
+
+.carousel.pointer-event {
+ touch-action: pan-y;
+}
+
+.carousel-inner {
+ position: relative;
+ width: 100%;
+ overflow: hidden;
+}
+.carousel-inner::after {
+ display: block;
+ clear: both;
+ content: "";
+}
+
+.carousel-item {
+ position: relative;
+ display: none;
+ float: left;
+ width: 100%;
+ margin-right: -100%;
+ -webkit-backface-visibility: hidden;
+ backface-visibility: hidden;
+ transition: transform 0.6s ease-in-out;
+}
+@media (prefers-reduced-motion: reduce) {
+ .carousel-item {
+ transition: none;
+ }
+}
+
+.carousel-item.active,
+.carousel-item-next,
+.carousel-item-prev {
+ display: block;
+}
+
+/* rtl:begin:ignore */
+.carousel-item-next:not(.carousel-item-start),
+.active.carousel-item-end {
+ transform: translateX(100%);
+}
+
+.carousel-item-prev:not(.carousel-item-end),
+.active.carousel-item-start {
+ transform: translateX(-100%);
+}
+
+/* rtl:end:ignore */
+.carousel-fade .carousel-item {
+ opacity: 0;
+ transition-property: opacity;
+ transform: none;
+}
+.carousel-fade .carousel-item.active,
+.carousel-fade .carousel-item-next.carousel-item-start,
+.carousel-fade .carousel-item-prev.carousel-item-end {
+ z-index: 1;
+ opacity: 1;
+}
+.carousel-fade .active.carousel-item-start,
+.carousel-fade .active.carousel-item-end {
+ z-index: 0;
+ opacity: 0;
+ transition: opacity 0s 0.6s;
+}
+@media (prefers-reduced-motion: reduce) {
+ .carousel-fade .active.carousel-item-start,
+.carousel-fade .active.carousel-item-end {
+ transition: none;
+ }
+}
+
+.carousel-control-prev,
+.carousel-control-next {
+ position: absolute;
+ top: 0;
+ bottom: 0;
+ z-index: 1;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ width: 15%;
+ color: #fff;
+ text-align: center;
+ opacity: 0.5;
+ transition: opacity 0.15s ease;
+}
+@media (prefers-reduced-motion: reduce) {
+ .carousel-control-prev,
+.carousel-control-next {
+ transition: none;
+ }
+}
+.carousel-control-prev:hover, .carousel-control-prev:focus,
+.carousel-control-next:hover,
+.carousel-control-next:focus {
+ color: #fff;
+ text-decoration: none;
+ outline: 0;
+ opacity: 0.9;
+}
+
+.carousel-control-prev {
+ left: 0;
+}
+
+.carousel-control-next {
+ right: 0;
+}
+
+.carousel-control-prev-icon,
+.carousel-control-next-icon {
+ display: inline-block;
+ width: 2rem;
+ height: 2rem;
+ background-repeat: no-repeat;
+ background-position: 50%;
+ background-size: 100% 100%;
+}
+
+/* rtl:options: {
+ "autoRename": true,
+ "stringMap":[ {
+ "name" : "prev-next",
+ "search" : "prev",
+ "replace" : "next"
+ } ]
+} */
+.carousel-control-prev-icon {
+ background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e");
+}
+
+.carousel-control-next-icon {
+ background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
+}
+
+.carousel-indicators {
+ position: absolute;
+ right: 0;
+ bottom: 0;
+ left: 0;
+ z-index: 2;
+ display: flex;
+ justify-content: center;
+ padding-left: 0;
+ margin-right: 15%;
+ margin-left: 15%;
+ list-style: none;
+}
+.carousel-indicators li {
+ box-sizing: content-box;
+ flex: 0 1 auto;
+ width: 30px;
+ height: 3px;
+ margin-right: 3px;
+ margin-left: 3px;
+ text-indent: -999px;
+ cursor: pointer;
+ background-color: #fff;
+ background-clip: padding-box;
+ border-top: 10px solid transparent;
+ border-bottom: 10px solid transparent;
+ opacity: 0.5;
+ transition: opacity 0.6s ease;
+}
+@media (prefers-reduced-motion: reduce) {
+ .carousel-indicators li {
+ transition: none;
+ }
+}
+.carousel-indicators .active {
+ opacity: 1;
+}
+
+.carousel-caption {
+ position: absolute;
+ right: 15%;
+ bottom: 1.25rem;
+ left: 15%;
+ padding-top: 1.25rem;
+ padding-bottom: 1.25rem;
+ color: #fff;
+ text-align: center;
+}
+
+.carousel-dark .carousel-control-prev-icon,
+.carousel-dark .carousel-control-next-icon {
+ filter: invert(1) grayscale(100);
+}
+.carousel-dark .carousel-indicators li {
+ background-color: #000;
+}
+.carousel-dark .carousel-caption {
+ color: #000;
+}
+
+@-webkit-keyframes spinner-border {
+ to {
+ transform: rotate(360deg) /* rtl:ignore */;
+ }
+}
+
+@keyframes spinner-border {
+ to {
+ transform: rotate(360deg) /* rtl:ignore */;
+ }
+}
+.spinner-border {
+ display: inline-block;
+ width: 2rem;
+ height: 2rem;
+ vertical-align: text-bottom;
+ border: 0.25em solid currentColor;
+ border-right-color: transparent;
+ border-radius: 50%;
+ -webkit-animation: 0.75s linear infinite spinner-border;
+ animation: 0.75s linear infinite spinner-border;
+}
+
+.spinner-border-sm {
+ width: 1rem;
+ height: 1rem;
+ border-width: 0.2em;
+}
+
+@-webkit-keyframes spinner-grow {
+ 0% {
+ transform: scale(0);
+ }
+ 50% {
+ opacity: 1;
+ transform: none;
+ }
+}
+
+@keyframes spinner-grow {
+ 0% {
+ transform: scale(0);
+ }
+ 50% {
+ opacity: 1;
+ transform: none;
+ }
+}
+.spinner-grow {
+ display: inline-block;
+ width: 2rem;
+ height: 2rem;
+ vertical-align: text-bottom;
+ background-color: currentColor;
+ border-radius: 50%;
+ opacity: 0;
+ -webkit-animation: 0.75s linear infinite spinner-grow;
+ animation: 0.75s linear infinite spinner-grow;
+}
+
+.spinner-grow-sm {
+ width: 1rem;
+ height: 1rem;
+}
+
+@media (prefers-reduced-motion: reduce) {
+ .spinner-border,
+.spinner-grow {
+ -webkit-animation-duration: 1.5s;
+ animation-duration: 1.5s;
+ }
+}
+.clearfix::after {
+ display: block;
+ clear: both;
+ content: "";
+}
+
+.link-primary {
+ color: #005dc5;
+}
+.link-primary:hover, .link-primary:focus {
+ color: #004a9e;
+}
+
+.link-secondary {
+ color: #ffc000;
+}
+.link-secondary:hover, .link-secondary:focus {
+ color: #ffcd33;
+}
+
+.link-success {
+ color: #97c800;
+}
+.link-success:hover, .link-success:focus {
+ color: #acd333;
+}
+
+.link-info {
+ color: #0098df;
+}
+.link-info:hover, .link-info:focus {
+ color: #33ade5;
+}
+
+.link-warning {
+ color: #ffc000;
+}
+.link-warning:hover, .link-warning:focus {
+ color: #ffcd33;
+}
+
+.link-danger {
+ color: #e74018;
+}
+.link-danger:hover, .link-danger:focus {
+ color: #ec6646;
+}
+
+.link-light {
+ color: #f8f9fa;
+}
+.link-light:hover, .link-light:focus {
+ color: #f9fafb;
+}
+
+.link-dark {
+ color: #333;
+}
+.link-dark:hover, .link-dark:focus {
+ color: #292929;
+}
+
+.ratio {
+ position: relative;
+ width: 100%;
+}
+.ratio::before {
+ display: block;
+ padding-top: var(--aspect-ratio);
+ content: "";
+}
+.ratio > * {
+ position: absolute;
+ top: 0;
+ left: 0;
+ width: 100%;
+ height: 100%;
+}
+
+.ratio-1x1 {
+ --aspect-ratio: 100%;
+}
+
+.ratio-4x3 {
+ --aspect-ratio: calc(3 / 4 * 100%);
+}
+
+.ratio-16x9 {
+ --aspect-ratio: calc(9 / 16 * 100%);
+}
+
+.ratio-21x9 {
+ --aspect-ratio: calc(9 / 21 * 100%);
+}
+
+.fixed-top {
+ position: fixed;
+ top: 0;
+ right: 0;
+ left: 0;
+ z-index: 1030;
+}
+
+.fixed-bottom {
+ position: fixed;
+ right: 0;
+ bottom: 0;
+ left: 0;
+ z-index: 1030;
+}
+
+.sticky-top {
+ position: -webkit-sticky;
+ position: sticky;
+ top: 0;
+ z-index: 1020;
+}
+
+@media (min-width: 576px) {
+ .sticky-sm-top {
+ position: -webkit-sticky;
+ position: sticky;
+ top: 0;
+ z-index: 1020;
+ }
+}
+@media (min-width: 768px) {
+ .sticky-md-top {
+ position: -webkit-sticky;
+ position: sticky;
+ top: 0;
+ z-index: 1020;
+ }
+}
+@media (min-width: 992px) {
+ .sticky-lg-top {
+ position: -webkit-sticky;
+ position: sticky;
+ top: 0;
+ z-index: 1020;
+ }
+}
+@media (min-width: 1200px) {
+ .sticky-xl-top {
+ position: -webkit-sticky;
+ position: sticky;
+ top: 0;
+ z-index: 1020;
+ }
+}
+@media (min-width: 1400px) {
+ .sticky-xxl-top {
+ position: -webkit-sticky;
+ position: sticky;
+ top: 0;
+ z-index: 1020;
+ }
+}
+.visually-hidden,
+.visually-hidden-focusable:not(:focus) {
+ position: absolute !important;
+ width: 1px !important;
+ height: 1px !important;
+ padding: 0 !important;
+ margin: -1px !important;
+ overflow: hidden !important;
+ clip: rect(0, 0, 0, 0) !important;
+ white-space: nowrap !important;
+ border: 0 !important;
+}
+
+.stretched-link::after {
+ position: absolute;
+ top: 0;
+ right: 0;
+ bottom: 0;
+ left: 0;
+ z-index: 1;
+ content: "";
+}
+
+.text-truncate {
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+}
+
+.align-baseline {
+ vertical-align: baseline !important;
+}
+
+.align-top {
+ vertical-align: top !important;
+}
+
+.align-middle {
+ vertical-align: middle !important;
+}
+
+.align-bottom {
+ vertical-align: bottom !important;
+}
+
+.align-text-bottom {
+ vertical-align: text-bottom !important;
+}
+
+.align-text-top {
+ vertical-align: text-top !important;
+}
+
+.float-start {
+ float: left !important;
+}
+
+.float-end {
+ float: right !important;
+}
+
+.float-none {
+ float: none !important;
+}
+
+.overflow-auto {
+ overflow: auto !important;
+}
+
+.overflow-hidden {
+ overflow: hidden !important;
+}
+
+.overflow-visible {
+ overflow: visible !important;
+}
+
+.overflow-scroll {
+ overflow: scroll !important;
+}
+
+.d-inline {
+ display: inline !important;
+}
+
+.d-inline-block {
+ display: inline-block !important;
+}
+
+.d-block {
+ display: block !important;
+}
+
+.d-grid {
+ display: grid !important;
+}
+
+.d-table {
+ display: table !important;
+}
+
+.d-table-row {
+ display: table-row !important;
+}
+
+.d-table-cell {
+ display: table-cell !important;
+}
+
+.d-flex {
+ display: flex !important;
+}
+
+.d-inline-flex {
+ display: inline-flex !important;
+}
+
+.d-none {
+ display: none !important;
+}
+
+.shadow {
+ box-shadow: 0 0 0.4px rgba(0, 0, 0, 0.02), 0 0 0.9px rgba(0, 0, 0, 0.028), 0 0 1.8px rgba(0, 0, 0, 0.035), 0 0 3.1px rgba(0, 0, 0, 0.042), 0 0 5.8px rgba(0, 0, 0, 0.05), 0 0 14px rgba(0, 0, 0, 0.07) !important;
+}
+
+.shadow-sm {
+ box-shadow: 0 0 0.2px rgba(0, 0, 0, 0.014), 0 0 0.5px rgba(0, 0, 0, 0.02), 0 0 1px rgba(0, 0, 0, 0.025), 0 0 1.8px rgba(0, 0, 0, 0.03), 0 0 3.3px rgba(0, 0, 0, 0.036), 0 0 8px rgba(0, 0, 0, 0.05) !important;
+}
+
+.shadow-lg {
+ box-shadow: 0 0 0.7px rgba(0, 0, 0, 0.028), 0 0 1.7px rgba(0, 0, 0, 0.04), 0 0 3.3px rgba(0, 0, 0, 0.05), 0 0 5.8px rgba(0, 0, 0, 0.06), 0 0 10.9px rgba(0, 0, 0, 0.072), 0 0 26px rgba(0, 0, 0, 0.1) !important;
+}
+
+.shadow-none {
+ box-shadow: none !important;
+}
+
+.position-static {
+ position: static !important;
+}
+
+.position-relative {
+ position: relative !important;
+}
+
+.position-absolute {
+ position: absolute !important;
+}
+
+.position-fixed {
+ position: fixed !important;
+}
+
+.position-sticky {
+ position: -webkit-sticky !important;
+ position: sticky !important;
+}
+
+.top-0 {
+ top: 0 !important;
+}
+
+.top-50 {
+ top: 50% !important;
+}
+
+.top-100 {
+ top: 100% !important;
+}
+
+.bottom-0 {
+ bottom: 0 !important;
+}
+
+.bottom-50 {
+ bottom: 50% !important;
+}
+
+.bottom-100 {
+ bottom: 100% !important;
+}
+
+.start-0 {
+ left: 0 !important;
+}
+
+.start-50 {
+ left: 50% !important;
+}
+
+.start-100 {
+ left: 100% !important;
+}
+
+.end-0 {
+ right: 0 !important;
+}
+
+.end-50 {
+ right: 50% !important;
+}
+
+.end-100 {
+ right: 100% !important;
+}
+
+.translate-middle {
+ transform: translate(-50%, -50%) !important;
+}
+
+.translate-middle-x {
+ transform: translateX(-50%) !important;
+}
+
+.translate-middle-y {
+ transform: translateY(-50%) !important;
+}
+
+.border {
+ border: 1px solid #dee2e6 !important;
+}
+
+.border-0 {
+ border: 0 !important;
+}
+
+.border-top {
+ border-top: 1px solid #dee2e6 !important;
+}
+
+.border-top-0 {
+ border-top: 0 !important;
+}
+
+.border-end {
+ border-right: 1px solid #dee2e6 !important;
+}
+
+.border-end-0 {
+ border-right: 0 !important;
+}
+
+.border-bottom {
+ border-bottom: 1px solid #dee2e6 !important;
+}
+
+.border-bottom-0 {
+ border-bottom: 0 !important;
+}
+
+.border-start {
+ border-left: 1px solid #dee2e6 !important;
+}
+
+.border-start-0 {
+ border-left: 0 !important;
+}
+
+.border-primary {
+ border-color: #005dc5 !important;
+}
+
+.border-secondary {
+ border-color: #ffc000 !important;
+}
+
+.border-success {
+ border-color: #97c800 !important;
+}
+
+.border-info {
+ border-color: #0098df !important;
+}
+
+.border-warning {
+ border-color: #ffc000 !important;
+}
+
+.border-danger {
+ border-color: #e74018 !important;
+}
+
+.border-light {
+ border-color: #f8f9fa !important;
+}
+
+.border-dark {
+ border-color: #333 !important;
+}
+
+.border-white {
+ border-color: #fff !important;
+}
+
+.border-0 {
+ border-width: 0 !important;
+}
+
+.border-1 {
+ border-width: 1px !important;
+}
+
+.border-2 {
+ border-width: 2px !important;
+}
+
+.border-3 {
+ border-width: 3px !important;
+}
+
+.border-4 {
+ border-width: 4px !important;
+}
+
+.border-5 {
+ border-width: 5px !important;
+}
+
+.w-25 {
+ width: 25% !important;
+}
+
+.w-50 {
+ width: 50% !important;
+}
+
+.w-75 {
+ width: 75% !important;
+}
+
+.w-100 {
+ width: 100% !important;
+}
+
+.w-auto {
+ width: auto !important;
+}
+
+.mw-100 {
+ max-width: 100% !important;
+}
+
+.vw-100 {
+ width: 100vw !important;
+}
+
+.min-vw-100 {
+ min-width: 100vw !important;
+}
+
+.h-25 {
+ height: 25% !important;
+}
+
+.h-50 {
+ height: 50% !important;
+}
+
+.h-75 {
+ height: 75% !important;
+}
+
+.h-100 {
+ height: 100% !important;
+}
+
+.h-auto {
+ height: auto !important;
+}
+
+.mh-100 {
+ max-height: 100% !important;
+}
+
+.vh-100 {
+ height: 100vh !important;
+}
+
+.min-vh-100 {
+ min-height: 100vh !important;
+}
+
+.flex-fill {
+ flex: 1 1 auto !important;
+}
+
+.flex-row {
+ flex-direction: row !important;
+}
+
+.flex-column {
+ flex-direction: column !important;
+}
+
+.flex-row-reverse {
+ flex-direction: row-reverse !important;
+}
+
+.flex-column-reverse {
+ flex-direction: column-reverse !important;
+}
+
+.flex-grow-0 {
+ flex-grow: 0 !important;
+}
+
+.flex-grow-1 {
+ flex-grow: 1 !important;
+}
+
+.flex-shrink-0 {
+ flex-shrink: 0 !important;
+}
+
+.flex-shrink-1 {
+ flex-shrink: 1 !important;
+}
+
+.flex-wrap {
+ flex-wrap: wrap !important;
+}
+
+.flex-nowrap {
+ flex-wrap: nowrap !important;
+}
+
+.flex-wrap-reverse {
+ flex-wrap: wrap-reverse !important;
+}
+
+.gap-0 {
+ gap: 0 !important;
+}
+
+.gap-1 {
+ gap: 0.25rem !important;
+}
+
+.gap-2 {
+ gap: 0.5rem !important;
+}
+
+.gap-3 {
+ gap: 1rem !important;
+}
+
+.gap-4 {
+ gap: 1.5rem !important;
+}
+
+.gap-5 {
+ gap: 3rem !important;
+}
+
+.justify-content-start {
+ justify-content: flex-start !important;
+}
+
+.justify-content-end {
+ justify-content: flex-end !important;
+}
+
+.justify-content-center {
+ justify-content: center !important;
+}
+
+.justify-content-between {
+ justify-content: space-between !important;
+}
+
+.justify-content-around {
+ justify-content: space-around !important;
+}
+
+.justify-content-evenly {
+ justify-content: space-evenly !important;
+}
+
+.align-items-start {
+ align-items: flex-start !important;
+}
+
+.align-items-end {
+ align-items: flex-end !important;
+}
+
+.align-items-center {
+ align-items: center !important;
+}
+
+.align-items-baseline {
+ align-items: baseline !important;
+}
+
+.align-items-stretch {
+ align-items: stretch !important;
+}
+
+.align-content-start {
+ align-content: flex-start !important;
+}
+
+.align-content-end {
+ align-content: flex-end !important;
+}
+
+.align-content-center {
+ align-content: center !important;
+}
+
+.align-content-between {
+ align-content: space-between !important;
+}
+
+.align-content-around {
+ align-content: space-around !important;
+}
+
+.align-content-stretch {
+ align-content: stretch !important;
+}
+
+.align-self-auto {
+ align-self: auto !important;
+}
+
+.align-self-start {
+ align-self: flex-start !important;
+}
+
+.align-self-end {
+ align-self: flex-end !important;
+}
+
+.align-self-center {
+ align-self: center !important;
+}
+
+.align-self-baseline {
+ align-self: baseline !important;
+}
+
+.align-self-stretch {
+ align-self: stretch !important;
+}
+
+.order-first {
+ order: -1 !important;
+}
+
+.order-0 {
+ order: 0 !important;
+}
+
+.order-1 {
+ order: 1 !important;
+}
+
+.order-2 {
+ order: 2 !important;
+}
+
+.order-3 {
+ order: 3 !important;
+}
+
+.order-4 {
+ order: 4 !important;
+}
+
+.order-5 {
+ order: 5 !important;
+}
+
+.order-last {
+ order: 6 !important;
+}
+
+.m-0 {
+ margin: 0 !important;
+}
+
+.m-1 {
+ margin: 0.25rem !important;
+}
+
+.m-2 {
+ margin: 0.5rem !important;
+}
+
+.m-3 {
+ margin: 1rem !important;
+}
+
+.m-4 {
+ margin: 1.5rem !important;
+}
+
+.m-5 {
+ margin: 3rem !important;
+}
+
+.m-auto {
+ margin: auto !important;
+}
+
+.mx-0 {
+ margin-right: 0 !important;
+ margin-left: 0 !important;
+}
+
+.mx-1 {
+ margin-right: 0.25rem !important;
+ margin-left: 0.25rem !important;
+}
+
+.mx-2 {
+ margin-right: 0.5rem !important;
+ margin-left: 0.5rem !important;
+}
+
+.mx-3 {
+ margin-right: 1rem !important;
+ margin-left: 1rem !important;
+}
+
+.mx-4 {
+ margin-right: 1.5rem !important;
+ margin-left: 1.5rem !important;
+}
+
+.mx-5 {
+ margin-right: 3rem !important;
+ margin-left: 3rem !important;
+}
+
+.mx-auto {
+ margin-right: auto !important;
+ margin-left: auto !important;
+}
+
+.my-0 {
+ margin-top: 0 !important;
+ margin-bottom: 0 !important;
+}
+
+.my-1 {
+ margin-top: 0.25rem !important;
+ margin-bottom: 0.25rem !important;
+}
+
+.my-2 {
+ margin-top: 0.5rem !important;
+ margin-bottom: 0.5rem !important;
+}
+
+.my-3 {
+ margin-top: 1rem !important;
+ margin-bottom: 1rem !important;
+}
+
+.my-4 {
+ margin-top: 1.5rem !important;
+ margin-bottom: 1.5rem !important;
+}
+
+.my-5 {
+ margin-top: 3rem !important;
+ margin-bottom: 3rem !important;
+}
+
+.my-auto {
+ margin-top: auto !important;
+ margin-bottom: auto !important;
+}
+
+.mt-0 {
+ margin-top: 0 !important;
+}
+
+.mt-1 {
+ margin-top: 0.25rem !important;
+}
+
+.mt-2 {
+ margin-top: 0.5rem !important;
+}
+
+.mt-3 {
+ margin-top: 1rem !important;
+}
+
+.mt-4 {
+ margin-top: 1.5rem !important;
+}
+
+.mt-5 {
+ margin-top: 3rem !important;
+}
+
+.mt-auto {
+ margin-top: auto !important;
+}
+
+.me-0 {
+ margin-right: 0 !important;
+}
+
+.me-1 {
+ margin-right: 0.25rem !important;
+}
+
+.me-2 {
+ margin-right: 0.5rem !important;
+}
+
+.me-3 {
+ margin-right: 1rem !important;
+}
+
+.me-4 {
+ margin-right: 1.5rem !important;
+}
+
+.me-5 {
+ margin-right: 3rem !important;
+}
+
+.me-auto {
+ margin-right: auto !important;
+}
+
+.mb-0 {
+ margin-bottom: 0 !important;
+}
+
+.mb-1 {
+ margin-bottom: 0.25rem !important;
+}
+
+.mb-2 {
+ margin-bottom: 0.5rem !important;
+}
+
+.mb-3 {
+ margin-bottom: 1rem !important;
+}
+
+.mb-4 {
+ margin-bottom: 1.5rem !important;
+}
+
+.mb-5 {
+ margin-bottom: 3rem !important;
+}
+
+.mb-auto {
+ margin-bottom: auto !important;
+}
+
+.ms-0 {
+ margin-left: 0 !important;
+}
+
+.ms-1 {
+ margin-left: 0.25rem !important;
+}
+
+.ms-2 {
+ margin-left: 0.5rem !important;
+}
+
+.ms-3 {
+ margin-left: 1rem !important;
+}
+
+.ms-4 {
+ margin-left: 1.5rem !important;
+}
+
+.ms-5 {
+ margin-left: 3rem !important;
+}
+
+.ms-auto {
+ margin-left: auto !important;
+}
+
+.m-n1 {
+ margin: -0.25rem !important;
+}
+
+.m-n2 {
+ margin: -0.5rem !important;
+}
+
+.m-n3 {
+ margin: -1rem !important;
+}
+
+.m-n4 {
+ margin: -1.5rem !important;
+}
+
+.m-n5 {
+ margin: -3rem !important;
+}
+
+.mx-n1 {
+ margin-right: -0.25rem !important;
+ margin-left: -0.25rem !important;
+}
+
+.mx-n2 {
+ margin-right: -0.5rem !important;
+ margin-left: -0.5rem !important;
+}
+
+.mx-n3 {
+ margin-right: -1rem !important;
+ margin-left: -1rem !important;
+}
+
+.mx-n4 {
+ margin-right: -1.5rem !important;
+ margin-left: -1.5rem !important;
+}
+
+.mx-n5 {
+ margin-right: -3rem !important;
+ margin-left: -3rem !important;
+}
+
+.my-n1 {
+ margin-top: -0.25rem !important;
+ margin-bottom: -0.25rem !important;
+}
+
+.my-n2 {
+ margin-top: -0.5rem !important;
+ margin-bottom: -0.5rem !important;
+}
+
+.my-n3 {
+ margin-top: -1rem !important;
+ margin-bottom: -1rem !important;
+}
+
+.my-n4 {
+ margin-top: -1.5rem !important;
+ margin-bottom: -1.5rem !important;
+}
+
+.my-n5 {
+ margin-top: -3rem !important;
+ margin-bottom: -3rem !important;
+}
+
+.mt-n1 {
+ margin-top: -0.25rem !important;
+}
+
+.mt-n2 {
+ margin-top: -0.5rem !important;
+}
+
+.mt-n3 {
+ margin-top: -1rem !important;
+}
+
+.mt-n4 {
+ margin-top: -1.5rem !important;
+}
+
+.mt-n5 {
+ margin-top: -3rem !important;
+}
+
+.me-n1 {
+ margin-right: -0.25rem !important;
+}
+
+.me-n2 {
+ margin-right: -0.5rem !important;
+}
+
+.me-n3 {
+ margin-right: -1rem !important;
+}
+
+.me-n4 {
+ margin-right: -1.5rem !important;
+}
+
+.me-n5 {
+ margin-right: -3rem !important;
+}
+
+.mb-n1 {
+ margin-bottom: -0.25rem !important;
+}
+
+.mb-n2 {
+ margin-bottom: -0.5rem !important;
+}
+
+.mb-n3 {
+ margin-bottom: -1rem !important;
+}
+
+.mb-n4 {
+ margin-bottom: -1.5rem !important;
+}
+
+.mb-n5 {
+ margin-bottom: -3rem !important;
+}
+
+.ms-n1 {
+ margin-left: -0.25rem !important;
+}
+
+.ms-n2 {
+ margin-left: -0.5rem !important;
+}
+
+.ms-n3 {
+ margin-left: -1rem !important;
+}
+
+.ms-n4 {
+ margin-left: -1.5rem !important;
+}
+
+.ms-n5 {
+ margin-left: -3rem !important;
+}
+
+.p-0 {
+ padding: 0 !important;
+}
+
+.p-1 {
+ padding: 0.25rem !important;
+}
+
+.p-2 {
+ padding: 0.5rem !important;
+}
+
+.p-3 {
+ padding: 1rem !important;
+}
+
+.p-4 {
+ padding: 1.5rem !important;
+}
+
+.p-5 {
+ padding: 3rem !important;
+}
+
+.px-0 {
+ padding-right: 0 !important;
+ padding-left: 0 !important;
+}
+
+.px-1 {
+ padding-right: 0.25rem !important;
+ padding-left: 0.25rem !important;
+}
+
+.px-2 {
+ padding-right: 0.5rem !important;
+ padding-left: 0.5rem !important;
+}
+
+.px-3 {
+ padding-right: 1rem !important;
+ padding-left: 1rem !important;
+}
+
+.px-4 {
+ padding-right: 1.5rem !important;
+ padding-left: 1.5rem !important;
+}
+
+.px-5 {
+ padding-right: 3rem !important;
+ padding-left: 3rem !important;
+}
+
+.py-0 {
+ padding-top: 0 !important;
+ padding-bottom: 0 !important;
+}
+
+.py-1 {
+ padding-top: 0.25rem !important;
+ padding-bottom: 0.25rem !important;
+}
+
+.py-2 {
+ padding-top: 0.5rem !important;
+ padding-bottom: 0.5rem !important;
+}
+
+.py-3 {
+ padding-top: 1rem !important;
+ padding-bottom: 1rem !important;
+}
+
+.py-4 {
+ padding-top: 1.5rem !important;
+ padding-bottom: 1.5rem !important;
+}
+
+.py-5 {
+ padding-top: 3rem !important;
+ padding-bottom: 3rem !important;
+}
+
+.pt-0 {
+ padding-top: 0 !important;
+}
+
+.pt-1 {
+ padding-top: 0.25rem !important;
+}
+
+.pt-2 {
+ padding-top: 0.5rem !important;
+}
+
+.pt-3 {
+ padding-top: 1rem !important;
+}
+
+.pt-4 {
+ padding-top: 1.5rem !important;
+}
+
+.pt-5 {
+ padding-top: 3rem !important;
+}
+
+.pe-0 {
+ padding-right: 0 !important;
+}
+
+.pe-1 {
+ padding-right: 0.25rem !important;
+}
+
+.pe-2 {
+ padding-right: 0.5rem !important;
+}
+
+.pe-3 {
+ padding-right: 1rem !important;
+}
+
+.pe-4 {
+ padding-right: 1.5rem !important;
+}
+
+.pe-5 {
+ padding-right: 3rem !important;
+}
+
+.pb-0 {
+ padding-bottom: 0 !important;
+}
+
+.pb-1 {
+ padding-bottom: 0.25rem !important;
+}
+
+.pb-2 {
+ padding-bottom: 0.5rem !important;
+}
+
+.pb-3 {
+ padding-bottom: 1rem !important;
+}
+
+.pb-4 {
+ padding-bottom: 1.5rem !important;
+}
+
+.pb-5 {
+ padding-bottom: 3rem !important;
+}
+
+.ps-0 {
+ padding-left: 0 !important;
+}
+
+.ps-1 {
+ padding-left: 0.25rem !important;
+}
+
+.ps-2 {
+ padding-left: 0.5rem !important;
+}
+
+.ps-3 {
+ padding-left: 1rem !important;
+}
+
+.ps-4 {
+ padding-left: 1.5rem !important;
+}
+
+.ps-5 {
+ padding-left: 3rem !important;
+}
+
+.fs-1 {
+ font-size: calc(1.375rem + 1.5vw) !important;
+}
+
+.fs-2 {
+ font-size: calc(1.325rem + 0.9vw) !important;
+}
+
+.fs-3 {
+ font-size: calc(1.3rem + 0.6vw) !important;
+}
+
+.fs-4 {
+ font-size: calc(1.275rem + 0.3vw) !important;
+}
+
+.fs-5 {
+ font-size: 1.25rem !important;
+}
+
+.fs-6 {
+ font-size: 1rem !important;
+}
+
+.fst-italic {
+ font-style: italic !important;
+}
+
+.fst-normal {
+ font-style: normal !important;
+}
+
+.fw-light {
+ font-weight: 300 !important;
+}
+
+.fw-lighter {
+ font-weight: lighter !important;
+}
+
+.fw-normal {
+ font-weight: 400 !important;
+}
+
+.fw-bold {
+ font-weight: 700 !important;
+}
+
+.fw-bolder {
+ font-weight: bolder !important;
+}
+
+.text-lowercase {
+ text-transform: lowercase !important;
+}
+
+.text-uppercase {
+ text-transform: uppercase !important;
+}
+
+.text-capitalize {
+ text-transform: capitalize !important;
+}
+
+.text-start {
+ text-align: left !important;
+}
+
+.text-end {
+ text-align: right !important;
+}
+
+.text-center {
+ text-align: center !important;
+}
+
+.text-primary {
+ color: #005dc5 !important;
+}
+
+.text-secondary {
+ color: #ffc000 !important;
+}
+
+.text-success {
+ color: #97c800 !important;
+}
+
+.text-info {
+ color: #0098df !important;
+}
+
+.text-warning {
+ color: #ffc000 !important;
+}
+
+.text-danger {
+ color: #e74018 !important;
+}
+
+.text-light {
+ color: #f8f9fa !important;
+}
+
+.text-dark {
+ color: #333 !important;
+}
+
+.text-white {
+ color: #fff !important;
+}
+
+.text-body {
+ color: #212529 !important;
+}
+
+.text-muted {
+ color: #6c757d !important;
+}
+
+.text-black-50 {
+ color: rgba(0, 0, 0, 0.5) !important;
+}
+
+.text-white-50 {
+ color: rgba(255, 255, 255, 0.5) !important;
+}
+
+.text-reset {
+ color: inherit !important;
+}
+
+.lh-1 {
+ line-height: 1 !important;
+}
+
+.lh-sm {
+ line-height: 1.25 !important;
+}
+
+.lh-base {
+ line-height: 1.5 !important;
+}
+
+.lh-lg {
+ line-height: 2 !important;
+}
+
+.bg-primary {
+ background-color: #005dc5 !important;
+}
+
+.bg-secondary {
+ background-color: #ffc000 !important;
+}
+
+.bg-success {
+ background-color: #97c800 !important;
+}
+
+.bg-info {
+ background-color: #0098df !important;
+}
+
+.bg-warning {
+ background-color: #ffc000 !important;
+}
+
+.bg-danger {
+ background-color: #e74018 !important;
+}
+
+.bg-light {
+ background-color: #f8f9fa !important;
+}
+
+.bg-dark {
+ background-color: #333 !important;
+}
+
+.bg-body {
+ background-color: #fff !important;
+}
+
+.bg-white {
+ background-color: #fff !important;
+}
+
+.bg-transparent {
+ background-color: transparent !important;
+}
+
+.bg-gradient {
+ background-image: var(--bs-gradient) !important;
+}
+
+.text-wrap {
+ white-space: normal !important;
+}
+
+.text-nowrap {
+ white-space: nowrap !important;
+}
+
+.text-decoration-none {
+ text-decoration: none !important;
+}
+
+.text-decoration-underline {
+ text-decoration: underline !important;
+}
+
+.text-decoration-line-through {
+ text-decoration: line-through !important;
+}
+
+/* rtl:begin:remove */
+.text-break {
+ word-wrap: break-word !important;
+ word-break: break-word !important;
+}
+
+/* rtl:end:remove */
+.font-monospace {
+ font-family: var(--bs-font-monospace) !important;
+}
+
+.user-select-all {
+ -webkit-user-select: all !important;
+ -moz-user-select: all !important;
+ user-select: all !important;
+}
+
+.user-select-auto {
+ -webkit-user-select: auto !important;
+ -moz-user-select: auto !important;
+ -ms-user-select: auto !important;
+ user-select: auto !important;
+}
+
+.user-select-none {
+ -webkit-user-select: none !important;
+ -moz-user-select: none !important;
+ -ms-user-select: none !important;
+ user-select: none !important;
+}
+
+.pe-none {
+ pointer-events: none !important;
+}
+
+.pe-auto {
+ pointer-events: auto !important;
+}
+
+.rounded {
+ border-radius: 0.25rem !important;
+}
+
+.rounded-0 {
+ border-radius: 0 !important;
+}
+
+.rounded-1 {
+ border-radius: 0.2rem !important;
+}
+
+.rounded-2 {
+ border-radius: 0.25rem !important;
+}
+
+.rounded-3 {
+ border-radius: 0.3rem !important;
+}
+
+.rounded-circle {
+ border-radius: 50% !important;
+}
+
+.rounded-pill {
+ border-radius: 50rem !important;
+}
+
+.rounded-top {
+ border-top-left-radius: 0.25rem !important;
+ border-top-right-radius: 0.25rem !important;
+}
+
+.rounded-end {
+ border-top-right-radius: 0.25rem !important;
+ border-bottom-right-radius: 0.25rem !important;
+}
+
+.rounded-bottom {
+ border-bottom-right-radius: 0.25rem !important;
+ border-bottom-left-radius: 0.25rem !important;
+}
+
+.rounded-start {
+ border-bottom-left-radius: 0.25rem !important;
+ border-top-left-radius: 0.25rem !important;
+}
+
+.visible {
+ visibility: visible !important;
+}
+
+.invisible {
+ visibility: hidden !important;
+}
+
+@media (min-width: 576px) {
+ .float-sm-start {
+ float: left !important;
+ }
+
+ .float-sm-end {
+ float: right !important;
+ }
+
+ .float-sm-none {
+ float: none !important;
+ }
+
+ .d-sm-inline {
+ display: inline !important;
+ }
+
+ .d-sm-inline-block {
+ display: inline-block !important;
+ }
+
+ .d-sm-block {
+ display: block !important;
+ }
+
+ .d-sm-grid {
+ display: grid !important;
+ }
+
+ .d-sm-table {
+ display: table !important;
+ }
+
+ .d-sm-table-row {
+ display: table-row !important;
+ }
+
+ .d-sm-table-cell {
+ display: table-cell !important;
+ }
+
+ .d-sm-flex {
+ display: flex !important;
+ }
+
+ .d-sm-inline-flex {
+ display: inline-flex !important;
+ }
+
+ .d-sm-none {
+ display: none !important;
+ }
+
+ .flex-sm-fill {
+ flex: 1 1 auto !important;
+ }
+
+ .flex-sm-row {
+ flex-direction: row !important;
+ }
+
+ .flex-sm-column {
+ flex-direction: column !important;
+ }
+
+ .flex-sm-row-reverse {
+ flex-direction: row-reverse !important;
+ }
+
+ .flex-sm-column-reverse {
+ flex-direction: column-reverse !important;
+ }
+
+ .flex-sm-grow-0 {
+ flex-grow: 0 !important;
+ }
+
+ .flex-sm-grow-1 {
+ flex-grow: 1 !important;
+ }
+
+ .flex-sm-shrink-0 {
+ flex-shrink: 0 !important;
+ }
+
+ .flex-sm-shrink-1 {
+ flex-shrink: 1 !important;
+ }
+
+ .flex-sm-wrap {
+ flex-wrap: wrap !important;
+ }
+
+ .flex-sm-nowrap {
+ flex-wrap: nowrap !important;
+ }
+
+ .flex-sm-wrap-reverse {
+ flex-wrap: wrap-reverse !important;
+ }
+
+ .gap-sm-0 {
+ gap: 0 !important;
+ }
+
+ .gap-sm-1 {
+ gap: 0.25rem !important;
+ }
+
+ .gap-sm-2 {
+ gap: 0.5rem !important;
+ }
+
+ .gap-sm-3 {
+ gap: 1rem !important;
+ }
+
+ .gap-sm-4 {
+ gap: 1.5rem !important;
+ }
+
+ .gap-sm-5 {
+ gap: 3rem !important;
+ }
+
+ .justify-content-sm-start {
+ justify-content: flex-start !important;
+ }
+
+ .justify-content-sm-end {
+ justify-content: flex-end !important;
+ }
+
+ .justify-content-sm-center {
+ justify-content: center !important;
+ }
+
+ .justify-content-sm-between {
+ justify-content: space-between !important;
+ }
+
+ .justify-content-sm-around {
+ justify-content: space-around !important;
+ }
+
+ .justify-content-sm-evenly {
+ justify-content: space-evenly !important;
+ }
+
+ .align-items-sm-start {
+ align-items: flex-start !important;
+ }
+
+ .align-items-sm-end {
+ align-items: flex-end !important;
+ }
+
+ .align-items-sm-center {
+ align-items: center !important;
+ }
+
+ .align-items-sm-baseline {
+ align-items: baseline !important;
+ }
+
+ .align-items-sm-stretch {
+ align-items: stretch !important;
+ }
+
+ .align-content-sm-start {
+ align-content: flex-start !important;
+ }
+
+ .align-content-sm-end {
+ align-content: flex-end !important;
+ }
+
+ .align-content-sm-center {
+ align-content: center !important;
+ }
+
+ .align-content-sm-between {
+ align-content: space-between !important;
+ }
+
+ .align-content-sm-around {
+ align-content: space-around !important;
+ }
+
+ .align-content-sm-stretch {
+ align-content: stretch !important;
+ }
+
+ .align-self-sm-auto {
+ align-self: auto !important;
+ }
+
+ .align-self-sm-start {
+ align-self: flex-start !important;
+ }
+
+ .align-self-sm-end {
+ align-self: flex-end !important;
+ }
+
+ .align-self-sm-center {
+ align-self: center !important;
+ }
+
+ .align-self-sm-baseline {
+ align-self: baseline !important;
+ }
+
+ .align-self-sm-stretch {
+ align-self: stretch !important;
+ }
+
+ .order-sm-first {
+ order: -1 !important;
+ }
+
+ .order-sm-0 {
+ order: 0 !important;
+ }
+
+ .order-sm-1 {
+ order: 1 !important;
+ }
+
+ .order-sm-2 {
+ order: 2 !important;
+ }
+
+ .order-sm-3 {
+ order: 3 !important;
+ }
+
+ .order-sm-4 {
+ order: 4 !important;
+ }
+
+ .order-sm-5 {
+ order: 5 !important;
+ }
+
+ .order-sm-last {
+ order: 6 !important;
+ }
+
+ .m-sm-0 {
+ margin: 0 !important;
+ }
+
+ .m-sm-1 {
+ margin: 0.25rem !important;
+ }
+
+ .m-sm-2 {
+ margin: 0.5rem !important;
+ }
+
+ .m-sm-3 {
+ margin: 1rem !important;
+ }
+
+ .m-sm-4 {
+ margin: 1.5rem !important;
+ }
+
+ .m-sm-5 {
+ margin: 3rem !important;
+ }
+
+ .m-sm-auto {
+ margin: auto !important;
+ }
+
+ .mx-sm-0 {
+ margin-right: 0 !important;
+ margin-left: 0 !important;
+ }
+
+ .mx-sm-1 {
+ margin-right: 0.25rem !important;
+ margin-left: 0.25rem !important;
+ }
+
+ .mx-sm-2 {
+ margin-right: 0.5rem !important;
+ margin-left: 0.5rem !important;
+ }
+
+ .mx-sm-3 {
+ margin-right: 1rem !important;
+ margin-left: 1rem !important;
+ }
+
+ .mx-sm-4 {
+ margin-right: 1.5rem !important;
+ margin-left: 1.5rem !important;
+ }
+
+ .mx-sm-5 {
+ margin-right: 3rem !important;
+ margin-left: 3rem !important;
+ }
+
+ .mx-sm-auto {
+ margin-right: auto !important;
+ margin-left: auto !important;
+ }
+
+ .my-sm-0 {
+ margin-top: 0 !important;
+ margin-bottom: 0 !important;
+ }
+
+ .my-sm-1 {
+ margin-top: 0.25rem !important;
+ margin-bottom: 0.25rem !important;
+ }
+
+ .my-sm-2 {
+ margin-top: 0.5rem !important;
+ margin-bottom: 0.5rem !important;
+ }
+
+ .my-sm-3 {
+ margin-top: 1rem !important;
+ margin-bottom: 1rem !important;
+ }
+
+ .my-sm-4 {
+ margin-top: 1.5rem !important;
+ margin-bottom: 1.5rem !important;
+ }
+
+ .my-sm-5 {
+ margin-top: 3rem !important;
+ margin-bottom: 3rem !important;
+ }
+
+ .my-sm-auto {
+ margin-top: auto !important;
+ margin-bottom: auto !important;
+ }
+
+ .mt-sm-0 {
+ margin-top: 0 !important;
+ }
+
+ .mt-sm-1 {
+ margin-top: 0.25rem !important;
+ }
+
+ .mt-sm-2 {
+ margin-top: 0.5rem !important;
+ }
+
+ .mt-sm-3 {
+ margin-top: 1rem !important;
+ }
+
+ .mt-sm-4 {
+ margin-top: 1.5rem !important;
+ }
+
+ .mt-sm-5 {
+ margin-top: 3rem !important;
+ }
+
+ .mt-sm-auto {
+ margin-top: auto !important;
+ }
+
+ .me-sm-0 {
+ margin-right: 0 !important;
+ }
+
+ .me-sm-1 {
+ margin-right: 0.25rem !important;
+ }
+
+ .me-sm-2 {
+ margin-right: 0.5rem !important;
+ }
+
+ .me-sm-3 {
+ margin-right: 1rem !important;
+ }
+
+ .me-sm-4 {
+ margin-right: 1.5rem !important;
+ }
+
+ .me-sm-5 {
+ margin-right: 3rem !important;
+ }
+
+ .me-sm-auto {
+ margin-right: auto !important;
+ }
+
+ .mb-sm-0 {
+ margin-bottom: 0 !important;
+ }
+
+ .mb-sm-1 {
+ margin-bottom: 0.25rem !important;
+ }
+
+ .mb-sm-2 {
+ margin-bottom: 0.5rem !important;
+ }
+
+ .mb-sm-3 {
+ margin-bottom: 1rem !important;
+ }
+
+ .mb-sm-4 {
+ margin-bottom: 1.5rem !important;
+ }
+
+ .mb-sm-5 {
+ margin-bottom: 3rem !important;
+ }
+
+ .mb-sm-auto {
+ margin-bottom: auto !important;
+ }
+
+ .ms-sm-0 {
+ margin-left: 0 !important;
+ }
+
+ .ms-sm-1 {
+ margin-left: 0.25rem !important;
+ }
+
+ .ms-sm-2 {
+ margin-left: 0.5rem !important;
+ }
+
+ .ms-sm-3 {
+ margin-left: 1rem !important;
+ }
+
+ .ms-sm-4 {
+ margin-left: 1.5rem !important;
+ }
+
+ .ms-sm-5 {
+ margin-left: 3rem !important;
+ }
+
+ .ms-sm-auto {
+ margin-left: auto !important;
+ }
+
+ .m-sm-n1 {
+ margin: -0.25rem !important;
+ }
+
+ .m-sm-n2 {
+ margin: -0.5rem !important;
+ }
+
+ .m-sm-n3 {
+ margin: -1rem !important;
+ }
+
+ .m-sm-n4 {
+ margin: -1.5rem !important;
+ }
+
+ .m-sm-n5 {
+ margin: -3rem !important;
+ }
+
+ .mx-sm-n1 {
+ margin-right: -0.25rem !important;
+ margin-left: -0.25rem !important;
+ }
+
+ .mx-sm-n2 {
+ margin-right: -0.5rem !important;
+ margin-left: -0.5rem !important;
+ }
+
+ .mx-sm-n3 {
+ margin-right: -1rem !important;
+ margin-left: -1rem !important;
+ }
+
+ .mx-sm-n4 {
+ margin-right: -1.5rem !important;
+ margin-left: -1.5rem !important;
+ }
+
+ .mx-sm-n5 {
+ margin-right: -3rem !important;
+ margin-left: -3rem !important;
+ }
+
+ .my-sm-n1 {
+ margin-top: -0.25rem !important;
+ margin-bottom: -0.25rem !important;
+ }
+
+ .my-sm-n2 {
+ margin-top: -0.5rem !important;
+ margin-bottom: -0.5rem !important;
+ }
+
+ .my-sm-n3 {
+ margin-top: -1rem !important;
+ margin-bottom: -1rem !important;
+ }
+
+ .my-sm-n4 {
+ margin-top: -1.5rem !important;
+ margin-bottom: -1.5rem !important;
+ }
+
+ .my-sm-n5 {
+ margin-top: -3rem !important;
+ margin-bottom: -3rem !important;
+ }
+
+ .mt-sm-n1 {
+ margin-top: -0.25rem !important;
+ }
+
+ .mt-sm-n2 {
+ margin-top: -0.5rem !important;
+ }
+
+ .mt-sm-n3 {
+ margin-top: -1rem !important;
+ }
+
+ .mt-sm-n4 {
+ margin-top: -1.5rem !important;
+ }
+
+ .mt-sm-n5 {
+ margin-top: -3rem !important;
+ }
+
+ .me-sm-n1 {
+ margin-right: -0.25rem !important;
+ }
+
+ .me-sm-n2 {
+ margin-right: -0.5rem !important;
+ }
+
+ .me-sm-n3 {
+ margin-right: -1rem !important;
+ }
+
+ .me-sm-n4 {
+ margin-right: -1.5rem !important;
+ }
+
+ .me-sm-n5 {
+ margin-right: -3rem !important;
+ }
+
+ .mb-sm-n1 {
+ margin-bottom: -0.25rem !important;
+ }
+
+ .mb-sm-n2 {
+ margin-bottom: -0.5rem !important;
+ }
+
+ .mb-sm-n3 {
+ margin-bottom: -1rem !important;
+ }
+
+ .mb-sm-n4 {
+ margin-bottom: -1.5rem !important;
+ }
+
+ .mb-sm-n5 {
+ margin-bottom: -3rem !important;
+ }
+
+ .ms-sm-n1 {
+ margin-left: -0.25rem !important;
+ }
+
+ .ms-sm-n2 {
+ margin-left: -0.5rem !important;
+ }
+
+ .ms-sm-n3 {
+ margin-left: -1rem !important;
+ }
+
+ .ms-sm-n4 {
+ margin-left: -1.5rem !important;
+ }
+
+ .ms-sm-n5 {
+ margin-left: -3rem !important;
+ }
+
+ .p-sm-0 {
+ padding: 0 !important;
+ }
+
+ .p-sm-1 {
+ padding: 0.25rem !important;
+ }
+
+ .p-sm-2 {
+ padding: 0.5rem !important;
+ }
+
+ .p-sm-3 {
+ padding: 1rem !important;
+ }
+
+ .p-sm-4 {
+ padding: 1.5rem !important;
+ }
+
+ .p-sm-5 {
+ padding: 3rem !important;
+ }
+
+ .px-sm-0 {
+ padding-right: 0 !important;
+ padding-left: 0 !important;
+ }
+
+ .px-sm-1 {
+ padding-right: 0.25rem !important;
+ padding-left: 0.25rem !important;
+ }
+
+ .px-sm-2 {
+ padding-right: 0.5rem !important;
+ padding-left: 0.5rem !important;
+ }
+
+ .px-sm-3 {
+ padding-right: 1rem !important;
+ padding-left: 1rem !important;
+ }
+
+ .px-sm-4 {
+ padding-right: 1.5rem !important;
+ padding-left: 1.5rem !important;
+ }
+
+ .px-sm-5 {
+ padding-right: 3rem !important;
+ padding-left: 3rem !important;
+ }
+
+ .py-sm-0 {
+ padding-top: 0 !important;
+ padding-bottom: 0 !important;
+ }
+
+ .py-sm-1 {
+ padding-top: 0.25rem !important;
+ padding-bottom: 0.25rem !important;
+ }
+
+ .py-sm-2 {
+ padding-top: 0.5rem !important;
+ padding-bottom: 0.5rem !important;
+ }
+
+ .py-sm-3 {
+ padding-top: 1rem !important;
+ padding-bottom: 1rem !important;
+ }
+
+ .py-sm-4 {
+ padding-top: 1.5rem !important;
+ padding-bottom: 1.5rem !important;
+ }
+
+ .py-sm-5 {
+ padding-top: 3rem !important;
+ padding-bottom: 3rem !important;
+ }
+
+ .pt-sm-0 {
+ padding-top: 0 !important;
+ }
+
+ .pt-sm-1 {
+ padding-top: 0.25rem !important;
+ }
+
+ .pt-sm-2 {
+ padding-top: 0.5rem !important;
+ }
+
+ .pt-sm-3 {
+ padding-top: 1rem !important;
+ }
+
+ .pt-sm-4 {
+ padding-top: 1.5rem !important;
+ }
+
+ .pt-sm-5 {
+ padding-top: 3rem !important;
+ }
+
+ .pe-sm-0 {
+ padding-right: 0 !important;
+ }
+
+ .pe-sm-1 {
+ padding-right: 0.25rem !important;
+ }
+
+ .pe-sm-2 {
+ padding-right: 0.5rem !important;
+ }
+
+ .pe-sm-3 {
+ padding-right: 1rem !important;
+ }
+
+ .pe-sm-4 {
+ padding-right: 1.5rem !important;
+ }
+
+ .pe-sm-5 {
+ padding-right: 3rem !important;
+ }
+
+ .pb-sm-0 {
+ padding-bottom: 0 !important;
+ }
+
+ .pb-sm-1 {
+ padding-bottom: 0.25rem !important;
+ }
+
+ .pb-sm-2 {
+ padding-bottom: 0.5rem !important;
+ }
+
+ .pb-sm-3 {
+ padding-bottom: 1rem !important;
+ }
+
+ .pb-sm-4 {
+ padding-bottom: 1.5rem !important;
+ }
+
+ .pb-sm-5 {
+ padding-bottom: 3rem !important;
+ }
+
+ .ps-sm-0 {
+ padding-left: 0 !important;
+ }
+
+ .ps-sm-1 {
+ padding-left: 0.25rem !important;
+ }
+
+ .ps-sm-2 {
+ padding-left: 0.5rem !important;
+ }
+
+ .ps-sm-3 {
+ padding-left: 1rem !important;
+ }
+
+ .ps-sm-4 {
+ padding-left: 1.5rem !important;
+ }
+
+ .ps-sm-5 {
+ padding-left: 3rem !important;
+ }
+
+ .text-sm-start {
+ text-align: left !important;
+ }
+
+ .text-sm-end {
+ text-align: right !important;
+ }
+
+ .text-sm-center {
+ text-align: center !important;
+ }
+}
+@media (min-width: 768px) {
+ .float-md-start {
+ float: left !important;
+ }
+
+ .float-md-end {
+ float: right !important;
+ }
+
+ .float-md-none {
+ float: none !important;
+ }
+
+ .d-md-inline {
+ display: inline !important;
+ }
+
+ .d-md-inline-block {
+ display: inline-block !important;
+ }
+
+ .d-md-block {
+ display: block !important;
+ }
+
+ .d-md-grid {
+ display: grid !important;
+ }
+
+ .d-md-table {
+ display: table !important;
+ }
+
+ .d-md-table-row {
+ display: table-row !important;
+ }
+
+ .d-md-table-cell {
+ display: table-cell !important;
+ }
+
+ .d-md-flex {
+ display: flex !important;
+ }
+
+ .d-md-inline-flex {
+ display: inline-flex !important;
+ }
+
+ .d-md-none {
+ display: none !important;
+ }
+
+ .flex-md-fill {
+ flex: 1 1 auto !important;
+ }
+
+ .flex-md-row {
+ flex-direction: row !important;
+ }
+
+ .flex-md-column {
+ flex-direction: column !important;
+ }
+
+ .flex-md-row-reverse {
+ flex-direction: row-reverse !important;
+ }
+
+ .flex-md-column-reverse {
+ flex-direction: column-reverse !important;
+ }
+
+ .flex-md-grow-0 {
+ flex-grow: 0 !important;
+ }
+
+ .flex-md-grow-1 {
+ flex-grow: 1 !important;
+ }
+
+ .flex-md-shrink-0 {
+ flex-shrink: 0 !important;
+ }
+
+ .flex-md-shrink-1 {
+ flex-shrink: 1 !important;
+ }
+
+ .flex-md-wrap {
+ flex-wrap: wrap !important;
+ }
+
+ .flex-md-nowrap {
+ flex-wrap: nowrap !important;
+ }
+
+ .flex-md-wrap-reverse {
+ flex-wrap: wrap-reverse !important;
+ }
+
+ .gap-md-0 {
+ gap: 0 !important;
+ }
+
+ .gap-md-1 {
+ gap: 0.25rem !important;
+ }
+
+ .gap-md-2 {
+ gap: 0.5rem !important;
+ }
+
+ .gap-md-3 {
+ gap: 1rem !important;
+ }
+
+ .gap-md-4 {
+ gap: 1.5rem !important;
+ }
+
+ .gap-md-5 {
+ gap: 3rem !important;
+ }
+
+ .justify-content-md-start {
+ justify-content: flex-start !important;
+ }
+
+ .justify-content-md-end {
+ justify-content: flex-end !important;
+ }
+
+ .justify-content-md-center {
+ justify-content: center !important;
+ }
+
+ .justify-content-md-between {
+ justify-content: space-between !important;
+ }
+
+ .justify-content-md-around {
+ justify-content: space-around !important;
+ }
+
+ .justify-content-md-evenly {
+ justify-content: space-evenly !important;
+ }
+
+ .align-items-md-start {
+ align-items: flex-start !important;
+ }
+
+ .align-items-md-end {
+ align-items: flex-end !important;
+ }
+
+ .align-items-md-center {
+ align-items: center !important;
+ }
+
+ .align-items-md-baseline {
+ align-items: baseline !important;
+ }
+
+ .align-items-md-stretch {
+ align-items: stretch !important;
+ }
+
+ .align-content-md-start {
+ align-content: flex-start !important;
+ }
+
+ .align-content-md-end {
+ align-content: flex-end !important;
+ }
+
+ .align-content-md-center {
+ align-content: center !important;
+ }
+
+ .align-content-md-between {
+ align-content: space-between !important;
+ }
+
+ .align-content-md-around {
+ align-content: space-around !important;
+ }
+
+ .align-content-md-stretch {
+ align-content: stretch !important;
+ }
+
+ .align-self-md-auto {
+ align-self: auto !important;
+ }
+
+ .align-self-md-start {
+ align-self: flex-start !important;
+ }
+
+ .align-self-md-end {
+ align-self: flex-end !important;
+ }
+
+ .align-self-md-center {
+ align-self: center !important;
+ }
+
+ .align-self-md-baseline {
+ align-self: baseline !important;
+ }
+
+ .align-self-md-stretch {
+ align-self: stretch !important;
+ }
+
+ .order-md-first {
+ order: -1 !important;
+ }
+
+ .order-md-0 {
+ order: 0 !important;
+ }
+
+ .order-md-1 {
+ order: 1 !important;
+ }
+
+ .order-md-2 {
+ order: 2 !important;
+ }
+
+ .order-md-3 {
+ order: 3 !important;
+ }
+
+ .order-md-4 {
+ order: 4 !important;
+ }
+
+ .order-md-5 {
+ order: 5 !important;
+ }
+
+ .order-md-last {
+ order: 6 !important;
+ }
+
+ .m-md-0 {
+ margin: 0 !important;
+ }
+
+ .m-md-1 {
+ margin: 0.25rem !important;
+ }
+
+ .m-md-2 {
+ margin: 0.5rem !important;
+ }
+
+ .m-md-3 {
+ margin: 1rem !important;
+ }
+
+ .m-md-4 {
+ margin: 1.5rem !important;
+ }
+
+ .m-md-5 {
+ margin: 3rem !important;
+ }
+
+ .m-md-auto {
+ margin: auto !important;
+ }
+
+ .mx-md-0 {
+ margin-right: 0 !important;
+ margin-left: 0 !important;
+ }
+
+ .mx-md-1 {
+ margin-right: 0.25rem !important;
+ margin-left: 0.25rem !important;
+ }
+
+ .mx-md-2 {
+ margin-right: 0.5rem !important;
+ margin-left: 0.5rem !important;
+ }
+
+ .mx-md-3 {
+ margin-right: 1rem !important;
+ margin-left: 1rem !important;
+ }
+
+ .mx-md-4 {
+ margin-right: 1.5rem !important;
+ margin-left: 1.5rem !important;
+ }
+
+ .mx-md-5 {
+ margin-right: 3rem !important;
+ margin-left: 3rem !important;
+ }
+
+ .mx-md-auto {
+ margin-right: auto !important;
+ margin-left: auto !important;
+ }
+
+ .my-md-0 {
+ margin-top: 0 !important;
+ margin-bottom: 0 !important;
+ }
+
+ .my-md-1 {
+ margin-top: 0.25rem !important;
+ margin-bottom: 0.25rem !important;
+ }
+
+ .my-md-2 {
+ margin-top: 0.5rem !important;
+ margin-bottom: 0.5rem !important;
+ }
+
+ .my-md-3 {
+ margin-top: 1rem !important;
+ margin-bottom: 1rem !important;
+ }
+
+ .my-md-4 {
+ margin-top: 1.5rem !important;
+ margin-bottom: 1.5rem !important;
+ }
+
+ .my-md-5 {
+ margin-top: 3rem !important;
+ margin-bottom: 3rem !important;
+ }
+
+ .my-md-auto {
+ margin-top: auto !important;
+ margin-bottom: auto !important;
+ }
+
+ .mt-md-0 {
+ margin-top: 0 !important;
+ }
+
+ .mt-md-1 {
+ margin-top: 0.25rem !important;
+ }
+
+ .mt-md-2 {
+ margin-top: 0.5rem !important;
+ }
+
+ .mt-md-3 {
+ margin-top: 1rem !important;
+ }
+
+ .mt-md-4 {
+ margin-top: 1.5rem !important;
+ }
+
+ .mt-md-5 {
+ margin-top: 3rem !important;
+ }
+
+ .mt-md-auto {
+ margin-top: auto !important;
+ }
+
+ .me-md-0 {
+ margin-right: 0 !important;
+ }
+
+ .me-md-1 {
+ margin-right: 0.25rem !important;
+ }
+
+ .me-md-2 {
+ margin-right: 0.5rem !important;
+ }
+
+ .me-md-3 {
+ margin-right: 1rem !important;
+ }
+
+ .me-md-4 {
+ margin-right: 1.5rem !important;
+ }
+
+ .me-md-5 {
+ margin-right: 3rem !important;
+ }
+
+ .me-md-auto {
+ margin-right: auto !important;
+ }
+
+ .mb-md-0 {
+ margin-bottom: 0 !important;
+ }
+
+ .mb-md-1 {
+ margin-bottom: 0.25rem !important;
+ }
+
+ .mb-md-2 {
+ margin-bottom: 0.5rem !important;
+ }
+
+ .mb-md-3 {
+ margin-bottom: 1rem !important;
+ }
+
+ .mb-md-4 {
+ margin-bottom: 1.5rem !important;
+ }
+
+ .mb-md-5 {
+ margin-bottom: 3rem !important;
+ }
+
+ .mb-md-auto {
+ margin-bottom: auto !important;
+ }
+
+ .ms-md-0 {
+ margin-left: 0 !important;
+ }
+
+ .ms-md-1 {
+ margin-left: 0.25rem !important;
+ }
+
+ .ms-md-2 {
+ margin-left: 0.5rem !important;
+ }
+
+ .ms-md-3 {
+ margin-left: 1rem !important;
+ }
+
+ .ms-md-4 {
+ margin-left: 1.5rem !important;
+ }
+
+ .ms-md-5 {
+ margin-left: 3rem !important;
+ }
+
+ .ms-md-auto {
+ margin-left: auto !important;
+ }
+
+ .m-md-n1 {
+ margin: -0.25rem !important;
+ }
+
+ .m-md-n2 {
+ margin: -0.5rem !important;
+ }
+
+ .m-md-n3 {
+ margin: -1rem !important;
+ }
+
+ .m-md-n4 {
+ margin: -1.5rem !important;
+ }
+
+ .m-md-n5 {
+ margin: -3rem !important;
+ }
+
+ .mx-md-n1 {
+ margin-right: -0.25rem !important;
+ margin-left: -0.25rem !important;
+ }
+
+ .mx-md-n2 {
+ margin-right: -0.5rem !important;
+ margin-left: -0.5rem !important;
+ }
+
+ .mx-md-n3 {
+ margin-right: -1rem !important;
+ margin-left: -1rem !important;
+ }
+
+ .mx-md-n4 {
+ margin-right: -1.5rem !important;
+ margin-left: -1.5rem !important;
+ }
+
+ .mx-md-n5 {
+ margin-right: -3rem !important;
+ margin-left: -3rem !important;
+ }
+
+ .my-md-n1 {
+ margin-top: -0.25rem !important;
+ margin-bottom: -0.25rem !important;
+ }
+
+ .my-md-n2 {
+ margin-top: -0.5rem !important;
+ margin-bottom: -0.5rem !important;
+ }
+
+ .my-md-n3 {
+ margin-top: -1rem !important;
+ margin-bottom: -1rem !important;
+ }
+
+ .my-md-n4 {
+ margin-top: -1.5rem !important;
+ margin-bottom: -1.5rem !important;
+ }
+
+ .my-md-n5 {
+ margin-top: -3rem !important;
+ margin-bottom: -3rem !important;
+ }
+
+ .mt-md-n1 {
+ margin-top: -0.25rem !important;
+ }
+
+ .mt-md-n2 {
+ margin-top: -0.5rem !important;
+ }
+
+ .mt-md-n3 {
+ margin-top: -1rem !important;
+ }
+
+ .mt-md-n4 {
+ margin-top: -1.5rem !important;
+ }
+
+ .mt-md-n5 {
+ margin-top: -3rem !important;
+ }
+
+ .me-md-n1 {
+ margin-right: -0.25rem !important;
+ }
+
+ .me-md-n2 {
+ margin-right: -0.5rem !important;
+ }
+
+ .me-md-n3 {
+ margin-right: -1rem !important;
+ }
+
+ .me-md-n4 {
+ margin-right: -1.5rem !important;
+ }
+
+ .me-md-n5 {
+ margin-right: -3rem !important;
+ }
+
+ .mb-md-n1 {
+ margin-bottom: -0.25rem !important;
+ }
+
+ .mb-md-n2 {
+ margin-bottom: -0.5rem !important;
+ }
+
+ .mb-md-n3 {
+ margin-bottom: -1rem !important;
+ }
+
+ .mb-md-n4 {
+ margin-bottom: -1.5rem !important;
+ }
+
+ .mb-md-n5 {
+ margin-bottom: -3rem !important;
+ }
+
+ .ms-md-n1 {
+ margin-left: -0.25rem !important;
+ }
+
+ .ms-md-n2 {
+ margin-left: -0.5rem !important;
+ }
+
+ .ms-md-n3 {
+ margin-left: -1rem !important;
+ }
+
+ .ms-md-n4 {
+ margin-left: -1.5rem !important;
+ }
+
+ .ms-md-n5 {
+ margin-left: -3rem !important;
+ }
+
+ .p-md-0 {
+ padding: 0 !important;
+ }
+
+ .p-md-1 {
+ padding: 0.25rem !important;
+ }
+
+ .p-md-2 {
+ padding: 0.5rem !important;
+ }
+
+ .p-md-3 {
+ padding: 1rem !important;
+ }
+
+ .p-md-4 {
+ padding: 1.5rem !important;
+ }
+
+ .p-md-5 {
+ padding: 3rem !important;
+ }
+
+ .px-md-0 {
+ padding-right: 0 !important;
+ padding-left: 0 !important;
+ }
+
+ .px-md-1 {
+ padding-right: 0.25rem !important;
+ padding-left: 0.25rem !important;
+ }
+
+ .px-md-2 {
+ padding-right: 0.5rem !important;
+ padding-left: 0.5rem !important;
+ }
+
+ .px-md-3 {
+ padding-right: 1rem !important;
+ padding-left: 1rem !important;
+ }
+
+ .px-md-4 {
+ padding-right: 1.5rem !important;
+ padding-left: 1.5rem !important;
+ }
+
+ .px-md-5 {
+ padding-right: 3rem !important;
+ padding-left: 3rem !important;
+ }
+
+ .py-md-0 {
+ padding-top: 0 !important;
+ padding-bottom: 0 !important;
+ }
+
+ .py-md-1 {
+ padding-top: 0.25rem !important;
+ padding-bottom: 0.25rem !important;
+ }
+
+ .py-md-2 {
+ padding-top: 0.5rem !important;
+ padding-bottom: 0.5rem !important;
+ }
+
+ .py-md-3 {
+ padding-top: 1rem !important;
+ padding-bottom: 1rem !important;
+ }
+
+ .py-md-4 {
+ padding-top: 1.5rem !important;
+ padding-bottom: 1.5rem !important;
+ }
+
+ .py-md-5 {
+ padding-top: 3rem !important;
+ padding-bottom: 3rem !important;
+ }
+
+ .pt-md-0 {
+ padding-top: 0 !important;
+ }
+
+ .pt-md-1 {
+ padding-top: 0.25rem !important;
+ }
+
+ .pt-md-2 {
+ padding-top: 0.5rem !important;
+ }
+
+ .pt-md-3 {
+ padding-top: 1rem !important;
+ }
+
+ .pt-md-4 {
+ padding-top: 1.5rem !important;
+ }
+
+ .pt-md-5 {
+ padding-top: 3rem !important;
+ }
+
+ .pe-md-0 {
+ padding-right: 0 !important;
+ }
+
+ .pe-md-1 {
+ padding-right: 0.25rem !important;
+ }
+
+ .pe-md-2 {
+ padding-right: 0.5rem !important;
+ }
+
+ .pe-md-3 {
+ padding-right: 1rem !important;
+ }
+
+ .pe-md-4 {
+ padding-right: 1.5rem !important;
+ }
+
+ .pe-md-5 {
+ padding-right: 3rem !important;
+ }
+
+ .pb-md-0 {
+ padding-bottom: 0 !important;
+ }
+
+ .pb-md-1 {
+ padding-bottom: 0.25rem !important;
+ }
+
+ .pb-md-2 {
+ padding-bottom: 0.5rem !important;
+ }
+
+ .pb-md-3 {
+ padding-bottom: 1rem !important;
+ }
+
+ .pb-md-4 {
+ padding-bottom: 1.5rem !important;
+ }
+
+ .pb-md-5 {
+ padding-bottom: 3rem !important;
+ }
+
+ .ps-md-0 {
+ padding-left: 0 !important;
+ }
+
+ .ps-md-1 {
+ padding-left: 0.25rem !important;
+ }
+
+ .ps-md-2 {
+ padding-left: 0.5rem !important;
+ }
+
+ .ps-md-3 {
+ padding-left: 1rem !important;
+ }
+
+ .ps-md-4 {
+ padding-left: 1.5rem !important;
+ }
+
+ .ps-md-5 {
+ padding-left: 3rem !important;
+ }
+
+ .text-md-start {
+ text-align: left !important;
+ }
+
+ .text-md-end {
+ text-align: right !important;
+ }
+
+ .text-md-center {
+ text-align: center !important;
+ }
+}
+@media (min-width: 992px) {
+ .float-lg-start {
+ float: left !important;
+ }
+
+ .float-lg-end {
+ float: right !important;
+ }
+
+ .float-lg-none {
+ float: none !important;
+ }
+
+ .d-lg-inline {
+ display: inline !important;
+ }
+
+ .d-lg-inline-block {
+ display: inline-block !important;
+ }
+
+ .d-lg-block {
+ display: block !important;
+ }
+
+ .d-lg-grid {
+ display: grid !important;
+ }
+
+ .d-lg-table {
+ display: table !important;
+ }
+
+ .d-lg-table-row {
+ display: table-row !important;
+ }
+
+ .d-lg-table-cell {
+ display: table-cell !important;
+ }
+
+ .d-lg-flex {
+ display: flex !important;
+ }
+
+ .d-lg-inline-flex {
+ display: inline-flex !important;
+ }
+
+ .d-lg-none {
+ display: none !important;
+ }
+
+ .flex-lg-fill {
+ flex: 1 1 auto !important;
+ }
+
+ .flex-lg-row {
+ flex-direction: row !important;
+ }
+
+ .flex-lg-column {
+ flex-direction: column !important;
+ }
+
+ .flex-lg-row-reverse {
+ flex-direction: row-reverse !important;
+ }
+
+ .flex-lg-column-reverse {
+ flex-direction: column-reverse !important;
+ }
+
+ .flex-lg-grow-0 {
+ flex-grow: 0 !important;
+ }
+
+ .flex-lg-grow-1 {
+ flex-grow: 1 !important;
+ }
+
+ .flex-lg-shrink-0 {
+ flex-shrink: 0 !important;
+ }
+
+ .flex-lg-shrink-1 {
+ flex-shrink: 1 !important;
+ }
+
+ .flex-lg-wrap {
+ flex-wrap: wrap !important;
+ }
+
+ .flex-lg-nowrap {
+ flex-wrap: nowrap !important;
+ }
+
+ .flex-lg-wrap-reverse {
+ flex-wrap: wrap-reverse !important;
+ }
+
+ .gap-lg-0 {
+ gap: 0 !important;
+ }
+
+ .gap-lg-1 {
+ gap: 0.25rem !important;
+ }
+
+ .gap-lg-2 {
+ gap: 0.5rem !important;
+ }
+
+ .gap-lg-3 {
+ gap: 1rem !important;
+ }
+
+ .gap-lg-4 {
+ gap: 1.5rem !important;
+ }
+
+ .gap-lg-5 {
+ gap: 3rem !important;
+ }
+
+ .justify-content-lg-start {
+ justify-content: flex-start !important;
+ }
+
+ .justify-content-lg-end {
+ justify-content: flex-end !important;
+ }
+
+ .justify-content-lg-center {
+ justify-content: center !important;
+ }
+
+ .justify-content-lg-between {
+ justify-content: space-between !important;
+ }
+
+ .justify-content-lg-around {
+ justify-content: space-around !important;
+ }
+
+ .justify-content-lg-evenly {
+ justify-content: space-evenly !important;
+ }
+
+ .align-items-lg-start {
+ align-items: flex-start !important;
+ }
+
+ .align-items-lg-end {
+ align-items: flex-end !important;
+ }
+
+ .align-items-lg-center {
+ align-items: center !important;
+ }
+
+ .align-items-lg-baseline {
+ align-items: baseline !important;
+ }
+
+ .align-items-lg-stretch {
+ align-items: stretch !important;
+ }
+
+ .align-content-lg-start {
+ align-content: flex-start !important;
+ }
+
+ .align-content-lg-end {
+ align-content: flex-end !important;
+ }
+
+ .align-content-lg-center {
+ align-content: center !important;
+ }
+
+ .align-content-lg-between {
+ align-content: space-between !important;
+ }
+
+ .align-content-lg-around {
+ align-content: space-around !important;
+ }
+
+ .align-content-lg-stretch {
+ align-content: stretch !important;
+ }
+
+ .align-self-lg-auto {
+ align-self: auto !important;
+ }
+
+ .align-self-lg-start {
+ align-self: flex-start !important;
+ }
+
+ .align-self-lg-end {
+ align-self: flex-end !important;
+ }
+
+ .align-self-lg-center {
+ align-self: center !important;
+ }
+
+ .align-self-lg-baseline {
+ align-self: baseline !important;
+ }
+
+ .align-self-lg-stretch {
+ align-self: stretch !important;
+ }
+
+ .order-lg-first {
+ order: -1 !important;
+ }
+
+ .order-lg-0 {
+ order: 0 !important;
+ }
+
+ .order-lg-1 {
+ order: 1 !important;
+ }
+
+ .order-lg-2 {
+ order: 2 !important;
+ }
+
+ .order-lg-3 {
+ order: 3 !important;
+ }
+
+ .order-lg-4 {
+ order: 4 !important;
+ }
+
+ .order-lg-5 {
+ order: 5 !important;
+ }
+
+ .order-lg-last {
+ order: 6 !important;
+ }
+
+ .m-lg-0 {
+ margin: 0 !important;
+ }
+
+ .m-lg-1 {
+ margin: 0.25rem !important;
+ }
+
+ .m-lg-2 {
+ margin: 0.5rem !important;
+ }
+
+ .m-lg-3 {
+ margin: 1rem !important;
+ }
+
+ .m-lg-4 {
+ margin: 1.5rem !important;
+ }
+
+ .m-lg-5 {
+ margin: 3rem !important;
+ }
+
+ .m-lg-auto {
+ margin: auto !important;
+ }
+
+ .mx-lg-0 {
+ margin-right: 0 !important;
+ margin-left: 0 !important;
+ }
+
+ .mx-lg-1 {
+ margin-right: 0.25rem !important;
+ margin-left: 0.25rem !important;
+ }
+
+ .mx-lg-2 {
+ margin-right: 0.5rem !important;
+ margin-left: 0.5rem !important;
+ }
+
+ .mx-lg-3 {
+ margin-right: 1rem !important;
+ margin-left: 1rem !important;
+ }
+
+ .mx-lg-4 {
+ margin-right: 1.5rem !important;
+ margin-left: 1.5rem !important;
+ }
+
+ .mx-lg-5 {
+ margin-right: 3rem !important;
+ margin-left: 3rem !important;
+ }
+
+ .mx-lg-auto {
+ margin-right: auto !important;
+ margin-left: auto !important;
+ }
+
+ .my-lg-0 {
+ margin-top: 0 !important;
+ margin-bottom: 0 !important;
+ }
+
+ .my-lg-1 {
+ margin-top: 0.25rem !important;
+ margin-bottom: 0.25rem !important;
+ }
+
+ .my-lg-2 {
+ margin-top: 0.5rem !important;
+ margin-bottom: 0.5rem !important;
+ }
+
+ .my-lg-3 {
+ margin-top: 1rem !important;
+ margin-bottom: 1rem !important;
+ }
+
+ .my-lg-4 {
+ margin-top: 1.5rem !important;
+ margin-bottom: 1.5rem !important;
+ }
+
+ .my-lg-5 {
+ margin-top: 3rem !important;
+ margin-bottom: 3rem !important;
+ }
+
+ .my-lg-auto {
+ margin-top: auto !important;
+ margin-bottom: auto !important;
+ }
+
+ .mt-lg-0 {
+ margin-top: 0 !important;
+ }
+
+ .mt-lg-1 {
+ margin-top: 0.25rem !important;
+ }
+
+ .mt-lg-2 {
+ margin-top: 0.5rem !important;
+ }
+
+ .mt-lg-3 {
+ margin-top: 1rem !important;
+ }
+
+ .mt-lg-4 {
+ margin-top: 1.5rem !important;
+ }
+
+ .mt-lg-5 {
+ margin-top: 3rem !important;
+ }
+
+ .mt-lg-auto {
+ margin-top: auto !important;
+ }
+
+ .me-lg-0 {
+ margin-right: 0 !important;
+ }
+
+ .me-lg-1 {
+ margin-right: 0.25rem !important;
+ }
+
+ .me-lg-2 {
+ margin-right: 0.5rem !important;
+ }
+
+ .me-lg-3 {
+ margin-right: 1rem !important;
+ }
+
+ .me-lg-4 {
+ margin-right: 1.5rem !important;
+ }
+
+ .me-lg-5 {
+ margin-right: 3rem !important;
+ }
+
+ .me-lg-auto {
+ margin-right: auto !important;
+ }
+
+ .mb-lg-0 {
+ margin-bottom: 0 !important;
+ }
+
+ .mb-lg-1 {
+ margin-bottom: 0.25rem !important;
+ }
+
+ .mb-lg-2 {
+ margin-bottom: 0.5rem !important;
+ }
+
+ .mb-lg-3 {
+ margin-bottom: 1rem !important;
+ }
+
+ .mb-lg-4 {
+ margin-bottom: 1.5rem !important;
+ }
+
+ .mb-lg-5 {
+ margin-bottom: 3rem !important;
+ }
+
+ .mb-lg-auto {
+ margin-bottom: auto !important;
+ }
+
+ .ms-lg-0 {
+ margin-left: 0 !important;
+ }
+
+ .ms-lg-1 {
+ margin-left: 0.25rem !important;
+ }
+
+ .ms-lg-2 {
+ margin-left: 0.5rem !important;
+ }
+
+ .ms-lg-3 {
+ margin-left: 1rem !important;
+ }
+
+ .ms-lg-4 {
+ margin-left: 1.5rem !important;
+ }
+
+ .ms-lg-5 {
+ margin-left: 3rem !important;
+ }
+
+ .ms-lg-auto {
+ margin-left: auto !important;
+ }
+
+ .m-lg-n1 {
+ margin: -0.25rem !important;
+ }
+
+ .m-lg-n2 {
+ margin: -0.5rem !important;
+ }
+
+ .m-lg-n3 {
+ margin: -1rem !important;
+ }
+
+ .m-lg-n4 {
+ margin: -1.5rem !important;
+ }
+
+ .m-lg-n5 {
+ margin: -3rem !important;
+ }
+
+ .mx-lg-n1 {
+ margin-right: -0.25rem !important;
+ margin-left: -0.25rem !important;
+ }
+
+ .mx-lg-n2 {
+ margin-right: -0.5rem !important;
+ margin-left: -0.5rem !important;
+ }
+
+ .mx-lg-n3 {
+ margin-right: -1rem !important;
+ margin-left: -1rem !important;
+ }
+
+ .mx-lg-n4 {
+ margin-right: -1.5rem !important;
+ margin-left: -1.5rem !important;
+ }
+
+ .mx-lg-n5 {
+ margin-right: -3rem !important;
+ margin-left: -3rem !important;
+ }
+
+ .my-lg-n1 {
+ margin-top: -0.25rem !important;
+ margin-bottom: -0.25rem !important;
+ }
+
+ .my-lg-n2 {
+ margin-top: -0.5rem !important;
+ margin-bottom: -0.5rem !important;
+ }
+
+ .my-lg-n3 {
+ margin-top: -1rem !important;
+ margin-bottom: -1rem !important;
+ }
+
+ .my-lg-n4 {
+ margin-top: -1.5rem !important;
+ margin-bottom: -1.5rem !important;
+ }
+
+ .my-lg-n5 {
+ margin-top: -3rem !important;
+ margin-bottom: -3rem !important;
+ }
+
+ .mt-lg-n1 {
+ margin-top: -0.25rem !important;
+ }
+
+ .mt-lg-n2 {
+ margin-top: -0.5rem !important;
+ }
+
+ .mt-lg-n3 {
+ margin-top: -1rem !important;
+ }
+
+ .mt-lg-n4 {
+ margin-top: -1.5rem !important;
+ }
+
+ .mt-lg-n5 {
+ margin-top: -3rem !important;
+ }
+
+ .me-lg-n1 {
+ margin-right: -0.25rem !important;
+ }
+
+ .me-lg-n2 {
+ margin-right: -0.5rem !important;
+ }
+
+ .me-lg-n3 {
+ margin-right: -1rem !important;
+ }
+
+ .me-lg-n4 {
+ margin-right: -1.5rem !important;
+ }
+
+ .me-lg-n5 {
+ margin-right: -3rem !important;
+ }
+
+ .mb-lg-n1 {
+ margin-bottom: -0.25rem !important;
+ }
+
+ .mb-lg-n2 {
+ margin-bottom: -0.5rem !important;
+ }
+
+ .mb-lg-n3 {
+ margin-bottom: -1rem !important;
+ }
+
+ .mb-lg-n4 {
+ margin-bottom: -1.5rem !important;
+ }
+
+ .mb-lg-n5 {
+ margin-bottom: -3rem !important;
+ }
+
+ .ms-lg-n1 {
+ margin-left: -0.25rem !important;
+ }
+
+ .ms-lg-n2 {
+ margin-left: -0.5rem !important;
+ }
+
+ .ms-lg-n3 {
+ margin-left: -1rem !important;
+ }
+
+ .ms-lg-n4 {
+ margin-left: -1.5rem !important;
+ }
+
+ .ms-lg-n5 {
+ margin-left: -3rem !important;
+ }
+
+ .p-lg-0 {
+ padding: 0 !important;
+ }
+
+ .p-lg-1 {
+ padding: 0.25rem !important;
+ }
+
+ .p-lg-2 {
+ padding: 0.5rem !important;
+ }
+
+ .p-lg-3 {
+ padding: 1rem !important;
+ }
+
+ .p-lg-4 {
+ padding: 1.5rem !important;
+ }
+
+ .p-lg-5 {
+ padding: 3rem !important;
+ }
+
+ .px-lg-0 {
+ padding-right: 0 !important;
+ padding-left: 0 !important;
+ }
+
+ .px-lg-1 {
+ padding-right: 0.25rem !important;
+ padding-left: 0.25rem !important;
+ }
+
+ .px-lg-2 {
+ padding-right: 0.5rem !important;
+ padding-left: 0.5rem !important;
+ }
+
+ .px-lg-3 {
+ padding-right: 1rem !important;
+ padding-left: 1rem !important;
+ }
+
+ .px-lg-4 {
+ padding-right: 1.5rem !important;
+ padding-left: 1.5rem !important;
+ }
+
+ .px-lg-5 {
+ padding-right: 3rem !important;
+ padding-left: 3rem !important;
+ }
+
+ .py-lg-0 {
+ padding-top: 0 !important;
+ padding-bottom: 0 !important;
+ }
+
+ .py-lg-1 {
+ padding-top: 0.25rem !important;
+ padding-bottom: 0.25rem !important;
+ }
+
+ .py-lg-2 {
+ padding-top: 0.5rem !important;
+ padding-bottom: 0.5rem !important;
+ }
+
+ .py-lg-3 {
+ padding-top: 1rem !important;
+ padding-bottom: 1rem !important;
+ }
+
+ .py-lg-4 {
+ padding-top: 1.5rem !important;
+ padding-bottom: 1.5rem !important;
+ }
+
+ .py-lg-5 {
+ padding-top: 3rem !important;
+ padding-bottom: 3rem !important;
+ }
+
+ .pt-lg-0 {
+ padding-top: 0 !important;
+ }
+
+ .pt-lg-1 {
+ padding-top: 0.25rem !important;
+ }
+
+ .pt-lg-2 {
+ padding-top: 0.5rem !important;
+ }
+
+ .pt-lg-3 {
+ padding-top: 1rem !important;
+ }
+
+ .pt-lg-4 {
+ padding-top: 1.5rem !important;
+ }
+
+ .pt-lg-5 {
+ padding-top: 3rem !important;
+ }
+
+ .pe-lg-0 {
+ padding-right: 0 !important;
+ }
+
+ .pe-lg-1 {
+ padding-right: 0.25rem !important;
+ }
+
+ .pe-lg-2 {
+ padding-right: 0.5rem !important;
+ }
+
+ .pe-lg-3 {
+ padding-right: 1rem !important;
+ }
+
+ .pe-lg-4 {
+ padding-right: 1.5rem !important;
+ }
+
+ .pe-lg-5 {
+ padding-right: 3rem !important;
+ }
+
+ .pb-lg-0 {
+ padding-bottom: 0 !important;
+ }
+
+ .pb-lg-1 {
+ padding-bottom: 0.25rem !important;
+ }
+
+ .pb-lg-2 {
+ padding-bottom: 0.5rem !important;
+ }
+
+ .pb-lg-3 {
+ padding-bottom: 1rem !important;
+ }
+
+ .pb-lg-4 {
+ padding-bottom: 1.5rem !important;
+ }
+
+ .pb-lg-5 {
+ padding-bottom: 3rem !important;
+ }
+
+ .ps-lg-0 {
+ padding-left: 0 !important;
+ }
+
+ .ps-lg-1 {
+ padding-left: 0.25rem !important;
+ }
+
+ .ps-lg-2 {
+ padding-left: 0.5rem !important;
+ }
+
+ .ps-lg-3 {
+ padding-left: 1rem !important;
+ }
+
+ .ps-lg-4 {
+ padding-left: 1.5rem !important;
+ }
+
+ .ps-lg-5 {
+ padding-left: 3rem !important;
+ }
+
+ .text-lg-start {
+ text-align: left !important;
+ }
+
+ .text-lg-end {
+ text-align: right !important;
+ }
+
+ .text-lg-center {
+ text-align: center !important;
+ }
+}
+@media (min-width: 1200px) {
+ .float-xl-start {
+ float: left !important;
+ }
+
+ .float-xl-end {
+ float: right !important;
+ }
+
+ .float-xl-none {
+ float: none !important;
+ }
+
+ .d-xl-inline {
+ display: inline !important;
+ }
+
+ .d-xl-inline-block {
+ display: inline-block !important;
+ }
+
+ .d-xl-block {
+ display: block !important;
+ }
+
+ .d-xl-grid {
+ display: grid !important;
+ }
+
+ .d-xl-table {
+ display: table !important;
+ }
+
+ .d-xl-table-row {
+ display: table-row !important;
+ }
+
+ .d-xl-table-cell {
+ display: table-cell !important;
+ }
+
+ .d-xl-flex {
+ display: flex !important;
+ }
+
+ .d-xl-inline-flex {
+ display: inline-flex !important;
+ }
+
+ .d-xl-none {
+ display: none !important;
+ }
+
+ .flex-xl-fill {
+ flex: 1 1 auto !important;
+ }
+
+ .flex-xl-row {
+ flex-direction: row !important;
+ }
+
+ .flex-xl-column {
+ flex-direction: column !important;
+ }
+
+ .flex-xl-row-reverse {
+ flex-direction: row-reverse !important;
+ }
+
+ .flex-xl-column-reverse {
+ flex-direction: column-reverse !important;
+ }
+
+ .flex-xl-grow-0 {
+ flex-grow: 0 !important;
+ }
+
+ .flex-xl-grow-1 {
+ flex-grow: 1 !important;
+ }
+
+ .flex-xl-shrink-0 {
+ flex-shrink: 0 !important;
+ }
+
+ .flex-xl-shrink-1 {
+ flex-shrink: 1 !important;
+ }
+
+ .flex-xl-wrap {
+ flex-wrap: wrap !important;
+ }
+
+ .flex-xl-nowrap {
+ flex-wrap: nowrap !important;
+ }
+
+ .flex-xl-wrap-reverse {
+ flex-wrap: wrap-reverse !important;
+ }
+
+ .gap-xl-0 {
+ gap: 0 !important;
+ }
+
+ .gap-xl-1 {
+ gap: 0.25rem !important;
+ }
+
+ .gap-xl-2 {
+ gap: 0.5rem !important;
+ }
+
+ .gap-xl-3 {
+ gap: 1rem !important;
+ }
+
+ .gap-xl-4 {
+ gap: 1.5rem !important;
+ }
+
+ .gap-xl-5 {
+ gap: 3rem !important;
+ }
+
+ .justify-content-xl-start {
+ justify-content: flex-start !important;
+ }
+
+ .justify-content-xl-end {
+ justify-content: flex-end !important;
+ }
+
+ .justify-content-xl-center {
+ justify-content: center !important;
+ }
+
+ .justify-content-xl-between {
+ justify-content: space-between !important;
+ }
+
+ .justify-content-xl-around {
+ justify-content: space-around !important;
+ }
+
+ .justify-content-xl-evenly {
+ justify-content: space-evenly !important;
+ }
+
+ .align-items-xl-start {
+ align-items: flex-start !important;
+ }
+
+ .align-items-xl-end {
+ align-items: flex-end !important;
+ }
+
+ .align-items-xl-center {
+ align-items: center !important;
+ }
+
+ .align-items-xl-baseline {
+ align-items: baseline !important;
+ }
+
+ .align-items-xl-stretch {
+ align-items: stretch !important;
+ }
+
+ .align-content-xl-start {
+ align-content: flex-start !important;
+ }
+
+ .align-content-xl-end {
+ align-content: flex-end !important;
+ }
+
+ .align-content-xl-center {
+ align-content: center !important;
+ }
+
+ .align-content-xl-between {
+ align-content: space-between !important;
+ }
+
+ .align-content-xl-around {
+ align-content: space-around !important;
+ }
+
+ .align-content-xl-stretch {
+ align-content: stretch !important;
+ }
+
+ .align-self-xl-auto {
+ align-self: auto !important;
+ }
+
+ .align-self-xl-start {
+ align-self: flex-start !important;
+ }
+
+ .align-self-xl-end {
+ align-self: flex-end !important;
+ }
+
+ .align-self-xl-center {
+ align-self: center !important;
+ }
+
+ .align-self-xl-baseline {
+ align-self: baseline !important;
+ }
+
+ .align-self-xl-stretch {
+ align-self: stretch !important;
+ }
+
+ .order-xl-first {
+ order: -1 !important;
+ }
+
+ .order-xl-0 {
+ order: 0 !important;
+ }
+
+ .order-xl-1 {
+ order: 1 !important;
+ }
+
+ .order-xl-2 {
+ order: 2 !important;
+ }
+
+ .order-xl-3 {
+ order: 3 !important;
+ }
+
+ .order-xl-4 {
+ order: 4 !important;
+ }
+
+ .order-xl-5 {
+ order: 5 !important;
+ }
+
+ .order-xl-last {
+ order: 6 !important;
+ }
+
+ .m-xl-0 {
+ margin: 0 !important;
+ }
+
+ .m-xl-1 {
+ margin: 0.25rem !important;
+ }
+
+ .m-xl-2 {
+ margin: 0.5rem !important;
+ }
+
+ .m-xl-3 {
+ margin: 1rem !important;
+ }
+
+ .m-xl-4 {
+ margin: 1.5rem !important;
+ }
+
+ .m-xl-5 {
+ margin: 3rem !important;
+ }
+
+ .m-xl-auto {
+ margin: auto !important;
+ }
+
+ .mx-xl-0 {
+ margin-right: 0 !important;
+ margin-left: 0 !important;
+ }
+
+ .mx-xl-1 {
+ margin-right: 0.25rem !important;
+ margin-left: 0.25rem !important;
+ }
+
+ .mx-xl-2 {
+ margin-right: 0.5rem !important;
+ margin-left: 0.5rem !important;
+ }
+
+ .mx-xl-3 {
+ margin-right: 1rem !important;
+ margin-left: 1rem !important;
+ }
+
+ .mx-xl-4 {
+ margin-right: 1.5rem !important;
+ margin-left: 1.5rem !important;
+ }
+
+ .mx-xl-5 {
+ margin-right: 3rem !important;
+ margin-left: 3rem !important;
+ }
+
+ .mx-xl-auto {
+ margin-right: auto !important;
+ margin-left: auto !important;
+ }
+
+ .my-xl-0 {
+ margin-top: 0 !important;
+ margin-bottom: 0 !important;
+ }
+
+ .my-xl-1 {
+ margin-top: 0.25rem !important;
+ margin-bottom: 0.25rem !important;
+ }
+
+ .my-xl-2 {
+ margin-top: 0.5rem !important;
+ margin-bottom: 0.5rem !important;
+ }
+
+ .my-xl-3 {
+ margin-top: 1rem !important;
+ margin-bottom: 1rem !important;
+ }
+
+ .my-xl-4 {
+ margin-top: 1.5rem !important;
+ margin-bottom: 1.5rem !important;
+ }
+
+ .my-xl-5 {
+ margin-top: 3rem !important;
+ margin-bottom: 3rem !important;
+ }
+
+ .my-xl-auto {
+ margin-top: auto !important;
+ margin-bottom: auto !important;
+ }
+
+ .mt-xl-0 {
+ margin-top: 0 !important;
+ }
+
+ .mt-xl-1 {
+ margin-top: 0.25rem !important;
+ }
+
+ .mt-xl-2 {
+ margin-top: 0.5rem !important;
+ }
+
+ .mt-xl-3 {
+ margin-top: 1rem !important;
+ }
+
+ .mt-xl-4 {
+ margin-top: 1.5rem !important;
+ }
+
+ .mt-xl-5 {
+ margin-top: 3rem !important;
+ }
+
+ .mt-xl-auto {
+ margin-top: auto !important;
+ }
+
+ .me-xl-0 {
+ margin-right: 0 !important;
+ }
+
+ .me-xl-1 {
+ margin-right: 0.25rem !important;
+ }
+
+ .me-xl-2 {
+ margin-right: 0.5rem !important;
+ }
+
+ .me-xl-3 {
+ margin-right: 1rem !important;
+ }
+
+ .me-xl-4 {
+ margin-right: 1.5rem !important;
+ }
+
+ .me-xl-5 {
+ margin-right: 3rem !important;
+ }
+
+ .me-xl-auto {
+ margin-right: auto !important;
+ }
+
+ .mb-xl-0 {
+ margin-bottom: 0 !important;
+ }
+
+ .mb-xl-1 {
+ margin-bottom: 0.25rem !important;
+ }
+
+ .mb-xl-2 {
+ margin-bottom: 0.5rem !important;
+ }
+
+ .mb-xl-3 {
+ margin-bottom: 1rem !important;
+ }
+
+ .mb-xl-4 {
+ margin-bottom: 1.5rem !important;
+ }
+
+ .mb-xl-5 {
+ margin-bottom: 3rem !important;
+ }
+
+ .mb-xl-auto {
+ margin-bottom: auto !important;
+ }
+
+ .ms-xl-0 {
+ margin-left: 0 !important;
+ }
+
+ .ms-xl-1 {
+ margin-left: 0.25rem !important;
+ }
+
+ .ms-xl-2 {
+ margin-left: 0.5rem !important;
+ }
+
+ .ms-xl-3 {
+ margin-left: 1rem !important;
+ }
+
+ .ms-xl-4 {
+ margin-left: 1.5rem !important;
+ }
+
+ .ms-xl-5 {
+ margin-left: 3rem !important;
+ }
+
+ .ms-xl-auto {
+ margin-left: auto !important;
+ }
+
+ .m-xl-n1 {
+ margin: -0.25rem !important;
+ }
+
+ .m-xl-n2 {
+ margin: -0.5rem !important;
+ }
+
+ .m-xl-n3 {
+ margin: -1rem !important;
+ }
+
+ .m-xl-n4 {
+ margin: -1.5rem !important;
+ }
+
+ .m-xl-n5 {
+ margin: -3rem !important;
+ }
+
+ .mx-xl-n1 {
+ margin-right: -0.25rem !important;
+ margin-left: -0.25rem !important;
+ }
+
+ .mx-xl-n2 {
+ margin-right: -0.5rem !important;
+ margin-left: -0.5rem !important;
+ }
+
+ .mx-xl-n3 {
+ margin-right: -1rem !important;
+ margin-left: -1rem !important;
+ }
+
+ .mx-xl-n4 {
+ margin-right: -1.5rem !important;
+ margin-left: -1.5rem !important;
+ }
+
+ .mx-xl-n5 {
+ margin-right: -3rem !important;
+ margin-left: -3rem !important;
+ }
+
+ .my-xl-n1 {
+ margin-top: -0.25rem !important;
+ margin-bottom: -0.25rem !important;
+ }
+
+ .my-xl-n2 {
+ margin-top: -0.5rem !important;
+ margin-bottom: -0.5rem !important;
+ }
+
+ .my-xl-n3 {
+ margin-top: -1rem !important;
+ margin-bottom: -1rem !important;
+ }
+
+ .my-xl-n4 {
+ margin-top: -1.5rem !important;
+ margin-bottom: -1.5rem !important;
+ }
+
+ .my-xl-n5 {
+ margin-top: -3rem !important;
+ margin-bottom: -3rem !important;
+ }
+
+ .mt-xl-n1 {
+ margin-top: -0.25rem !important;
+ }
+
+ .mt-xl-n2 {
+ margin-top: -0.5rem !important;
+ }
+
+ .mt-xl-n3 {
+ margin-top: -1rem !important;
+ }
+
+ .mt-xl-n4 {
+ margin-top: -1.5rem !important;
+ }
+
+ .mt-xl-n5 {
+ margin-top: -3rem !important;
+ }
+
+ .me-xl-n1 {
+ margin-right: -0.25rem !important;
+ }
+
+ .me-xl-n2 {
+ margin-right: -0.5rem !important;
+ }
+
+ .me-xl-n3 {
+ margin-right: -1rem !important;
+ }
+
+ .me-xl-n4 {
+ margin-right: -1.5rem !important;
+ }
+
+ .me-xl-n5 {
+ margin-right: -3rem !important;
+ }
+
+ .mb-xl-n1 {
+ margin-bottom: -0.25rem !important;
+ }
+
+ .mb-xl-n2 {
+ margin-bottom: -0.5rem !important;
+ }
+
+ .mb-xl-n3 {
+ margin-bottom: -1rem !important;
+ }
+
+ .mb-xl-n4 {
+ margin-bottom: -1.5rem !important;
+ }
+
+ .mb-xl-n5 {
+ margin-bottom: -3rem !important;
+ }
+
+ .ms-xl-n1 {
+ margin-left: -0.25rem !important;
+ }
+
+ .ms-xl-n2 {
+ margin-left: -0.5rem !important;
+ }
+
+ .ms-xl-n3 {
+ margin-left: -1rem !important;
+ }
+
+ .ms-xl-n4 {
+ margin-left: -1.5rem !important;
+ }
+
+ .ms-xl-n5 {
+ margin-left: -3rem !important;
+ }
+
+ .p-xl-0 {
+ padding: 0 !important;
+ }
+
+ .p-xl-1 {
+ padding: 0.25rem !important;
+ }
+
+ .p-xl-2 {
+ padding: 0.5rem !important;
+ }
+
+ .p-xl-3 {
+ padding: 1rem !important;
+ }
+
+ .p-xl-4 {
+ padding: 1.5rem !important;
+ }
+
+ .p-xl-5 {
+ padding: 3rem !important;
+ }
+
+ .px-xl-0 {
+ padding-right: 0 !important;
+ padding-left: 0 !important;
+ }
+
+ .px-xl-1 {
+ padding-right: 0.25rem !important;
+ padding-left: 0.25rem !important;
+ }
+
+ .px-xl-2 {
+ padding-right: 0.5rem !important;
+ padding-left: 0.5rem !important;
+ }
+
+ .px-xl-3 {
+ padding-right: 1rem !important;
+ padding-left: 1rem !important;
+ }
+
+ .px-xl-4 {
+ padding-right: 1.5rem !important;
+ padding-left: 1.5rem !important;
+ }
+
+ .px-xl-5 {
+ padding-right: 3rem !important;
+ padding-left: 3rem !important;
+ }
+
+ .py-xl-0 {
+ padding-top: 0 !important;
+ padding-bottom: 0 !important;
+ }
+
+ .py-xl-1 {
+ padding-top: 0.25rem !important;
+ padding-bottom: 0.25rem !important;
+ }
+
+ .py-xl-2 {
+ padding-top: 0.5rem !important;
+ padding-bottom: 0.5rem !important;
+ }
+
+ .py-xl-3 {
+ padding-top: 1rem !important;
+ padding-bottom: 1rem !important;
+ }
+
+ .py-xl-4 {
+ padding-top: 1.5rem !important;
+ padding-bottom: 1.5rem !important;
+ }
+
+ .py-xl-5 {
+ padding-top: 3rem !important;
+ padding-bottom: 3rem !important;
+ }
+
+ .pt-xl-0 {
+ padding-top: 0 !important;
+ }
+
+ .pt-xl-1 {
+ padding-top: 0.25rem !important;
+ }
+
+ .pt-xl-2 {
+ padding-top: 0.5rem !important;
+ }
+
+ .pt-xl-3 {
+ padding-top: 1rem !important;
+ }
+
+ .pt-xl-4 {
+ padding-top: 1.5rem !important;
+ }
+
+ .pt-xl-5 {
+ padding-top: 3rem !important;
+ }
+
+ .pe-xl-0 {
+ padding-right: 0 !important;
+ }
+
+ .pe-xl-1 {
+ padding-right: 0.25rem !important;
+ }
+
+ .pe-xl-2 {
+ padding-right: 0.5rem !important;
+ }
+
+ .pe-xl-3 {
+ padding-right: 1rem !important;
+ }
+
+ .pe-xl-4 {
+ padding-right: 1.5rem !important;
+ }
+
+ .pe-xl-5 {
+ padding-right: 3rem !important;
+ }
+
+ .pb-xl-0 {
+ padding-bottom: 0 !important;
+ }
+
+ .pb-xl-1 {
+ padding-bottom: 0.25rem !important;
+ }
+
+ .pb-xl-2 {
+ padding-bottom: 0.5rem !important;
+ }
+
+ .pb-xl-3 {
+ padding-bottom: 1rem !important;
+ }
+
+ .pb-xl-4 {
+ padding-bottom: 1.5rem !important;
+ }
+
+ .pb-xl-5 {
+ padding-bottom: 3rem !important;
+ }
+
+ .ps-xl-0 {
+ padding-left: 0 !important;
+ }
+
+ .ps-xl-1 {
+ padding-left: 0.25rem !important;
+ }
+
+ .ps-xl-2 {
+ padding-left: 0.5rem !important;
+ }
+
+ .ps-xl-3 {
+ padding-left: 1rem !important;
+ }
+
+ .ps-xl-4 {
+ padding-left: 1.5rem !important;
+ }
+
+ .ps-xl-5 {
+ padding-left: 3rem !important;
+ }
+
+ .text-xl-start {
+ text-align: left !important;
+ }
+
+ .text-xl-end {
+ text-align: right !important;
+ }
+
+ .text-xl-center {
+ text-align: center !important;
+ }
+}
+@media (min-width: 1400px) {
+ .float-xxl-start {
+ float: left !important;
+ }
+
+ .float-xxl-end {
+ float: right !important;
+ }
+
+ .float-xxl-none {
+ float: none !important;
+ }
+
+ .d-xxl-inline {
+ display: inline !important;
+ }
+
+ .d-xxl-inline-block {
+ display: inline-block !important;
+ }
+
+ .d-xxl-block {
+ display: block !important;
+ }
+
+ .d-xxl-grid {
+ display: grid !important;
+ }
+
+ .d-xxl-table {
+ display: table !important;
+ }
+
+ .d-xxl-table-row {
+ display: table-row !important;
+ }
+
+ .d-xxl-table-cell {
+ display: table-cell !important;
+ }
+
+ .d-xxl-flex {
+ display: flex !important;
+ }
+
+ .d-xxl-inline-flex {
+ display: inline-flex !important;
+ }
+
+ .d-xxl-none {
+ display: none !important;
+ }
+
+ .flex-xxl-fill {
+ flex: 1 1 auto !important;
+ }
+
+ .flex-xxl-row {
+ flex-direction: row !important;
+ }
+
+ .flex-xxl-column {
+ flex-direction: column !important;
+ }
+
+ .flex-xxl-row-reverse {
+ flex-direction: row-reverse !important;
+ }
+
+ .flex-xxl-column-reverse {
+ flex-direction: column-reverse !important;
+ }
+
+ .flex-xxl-grow-0 {
+ flex-grow: 0 !important;
+ }
+
+ .flex-xxl-grow-1 {
+ flex-grow: 1 !important;
+ }
+
+ .flex-xxl-shrink-0 {
+ flex-shrink: 0 !important;
+ }
+
+ .flex-xxl-shrink-1 {
+ flex-shrink: 1 !important;
+ }
+
+ .flex-xxl-wrap {
+ flex-wrap: wrap !important;
+ }
+
+ .flex-xxl-nowrap {
+ flex-wrap: nowrap !important;
+ }
+
+ .flex-xxl-wrap-reverse {
+ flex-wrap: wrap-reverse !important;
+ }
+
+ .gap-xxl-0 {
+ gap: 0 !important;
+ }
+
+ .gap-xxl-1 {
+ gap: 0.25rem !important;
+ }
+
+ .gap-xxl-2 {
+ gap: 0.5rem !important;
+ }
+
+ .gap-xxl-3 {
+ gap: 1rem !important;
+ }
+
+ .gap-xxl-4 {
+ gap: 1.5rem !important;
+ }
+
+ .gap-xxl-5 {
+ gap: 3rem !important;
+ }
+
+ .justify-content-xxl-start {
+ justify-content: flex-start !important;
+ }
+
+ .justify-content-xxl-end {
+ justify-content: flex-end !important;
+ }
+
+ .justify-content-xxl-center {
+ justify-content: center !important;
+ }
+
+ .justify-content-xxl-between {
+ justify-content: space-between !important;
+ }
+
+ .justify-content-xxl-around {
+ justify-content: space-around !important;
+ }
+
+ .justify-content-xxl-evenly {
+ justify-content: space-evenly !important;
+ }
+
+ .align-items-xxl-start {
+ align-items: flex-start !important;
+ }
+
+ .align-items-xxl-end {
+ align-items: flex-end !important;
+ }
+
+ .align-items-xxl-center {
+ align-items: center !important;
+ }
+
+ .align-items-xxl-baseline {
+ align-items: baseline !important;
+ }
+
+ .align-items-xxl-stretch {
+ align-items: stretch !important;
+ }
+
+ .align-content-xxl-start {
+ align-content: flex-start !important;
+ }
+
+ .align-content-xxl-end {
+ align-content: flex-end !important;
+ }
+
+ .align-content-xxl-center {
+ align-content: center !important;
+ }
+
+ .align-content-xxl-between {
+ align-content: space-between !important;
+ }
+
+ .align-content-xxl-around {
+ align-content: space-around !important;
+ }
+
+ .align-content-xxl-stretch {
+ align-content: stretch !important;
+ }
+
+ .align-self-xxl-auto {
+ align-self: auto !important;
+ }
+
+ .align-self-xxl-start {
+ align-self: flex-start !important;
+ }
+
+ .align-self-xxl-end {
+ align-self: flex-end !important;
+ }
+
+ .align-self-xxl-center {
+ align-self: center !important;
+ }
+
+ .align-self-xxl-baseline {
+ align-self: baseline !important;
+ }
+
+ .align-self-xxl-stretch {
+ align-self: stretch !important;
+ }
+
+ .order-xxl-first {
+ order: -1 !important;
+ }
+
+ .order-xxl-0 {
+ order: 0 !important;
+ }
+
+ .order-xxl-1 {
+ order: 1 !important;
+ }
+
+ .order-xxl-2 {
+ order: 2 !important;
+ }
+
+ .order-xxl-3 {
+ order: 3 !important;
+ }
+
+ .order-xxl-4 {
+ order: 4 !important;
+ }
+
+ .order-xxl-5 {
+ order: 5 !important;
+ }
+
+ .order-xxl-last {
+ order: 6 !important;
+ }
+
+ .m-xxl-0 {
+ margin: 0 !important;
+ }
+
+ .m-xxl-1 {
+ margin: 0.25rem !important;
+ }
+
+ .m-xxl-2 {
+ margin: 0.5rem !important;
+ }
+
+ .m-xxl-3 {
+ margin: 1rem !important;
+ }
+
+ .m-xxl-4 {
+ margin: 1.5rem !important;
+ }
+
+ .m-xxl-5 {
+ margin: 3rem !important;
+ }
+
+ .m-xxl-auto {
+ margin: auto !important;
+ }
+
+ .mx-xxl-0 {
+ margin-right: 0 !important;
+ margin-left: 0 !important;
+ }
+
+ .mx-xxl-1 {
+ margin-right: 0.25rem !important;
+ margin-left: 0.25rem !important;
+ }
+
+ .mx-xxl-2 {
+ margin-right: 0.5rem !important;
+ margin-left: 0.5rem !important;
+ }
+
+ .mx-xxl-3 {
+ margin-right: 1rem !important;
+ margin-left: 1rem !important;
+ }
+
+ .mx-xxl-4 {
+ margin-right: 1.5rem !important;
+ margin-left: 1.5rem !important;
+ }
+
+ .mx-xxl-5 {
+ margin-right: 3rem !important;
+ margin-left: 3rem !important;
+ }
+
+ .mx-xxl-auto {
+ margin-right: auto !important;
+ margin-left: auto !important;
+ }
+
+ .my-xxl-0 {
+ margin-top: 0 !important;
+ margin-bottom: 0 !important;
+ }
+
+ .my-xxl-1 {
+ margin-top: 0.25rem !important;
+ margin-bottom: 0.25rem !important;
+ }
+
+ .my-xxl-2 {
+ margin-top: 0.5rem !important;
+ margin-bottom: 0.5rem !important;
+ }
+
+ .my-xxl-3 {
+ margin-top: 1rem !important;
+ margin-bottom: 1rem !important;
+ }
+
+ .my-xxl-4 {
+ margin-top: 1.5rem !important;
+ margin-bottom: 1.5rem !important;
+ }
+
+ .my-xxl-5 {
+ margin-top: 3rem !important;
+ margin-bottom: 3rem !important;
+ }
+
+ .my-xxl-auto {
+ margin-top: auto !important;
+ margin-bottom: auto !important;
+ }
+
+ .mt-xxl-0 {
+ margin-top: 0 !important;
+ }
+
+ .mt-xxl-1 {
+ margin-top: 0.25rem !important;
+ }
+
+ .mt-xxl-2 {
+ margin-top: 0.5rem !important;
+ }
+
+ .mt-xxl-3 {
+ margin-top: 1rem !important;
+ }
+
+ .mt-xxl-4 {
+ margin-top: 1.5rem !important;
+ }
+
+ .mt-xxl-5 {
+ margin-top: 3rem !important;
+ }
+
+ .mt-xxl-auto {
+ margin-top: auto !important;
+ }
+
+ .me-xxl-0 {
+ margin-right: 0 !important;
+ }
+
+ .me-xxl-1 {
+ margin-right: 0.25rem !important;
+ }
+
+ .me-xxl-2 {
+ margin-right: 0.5rem !important;
+ }
+
+ .me-xxl-3 {
+ margin-right: 1rem !important;
+ }
+
+ .me-xxl-4 {
+ margin-right: 1.5rem !important;
+ }
+
+ .me-xxl-5 {
+ margin-right: 3rem !important;
+ }
+
+ .me-xxl-auto {
+ margin-right: auto !important;
+ }
+
+ .mb-xxl-0 {
+ margin-bottom: 0 !important;
+ }
+
+ .mb-xxl-1 {
+ margin-bottom: 0.25rem !important;
+ }
+
+ .mb-xxl-2 {
+ margin-bottom: 0.5rem !important;
+ }
+
+ .mb-xxl-3 {
+ margin-bottom: 1rem !important;
+ }
+
+ .mb-xxl-4 {
+ margin-bottom: 1.5rem !important;
+ }
+
+ .mb-xxl-5 {
+ margin-bottom: 3rem !important;
+ }
+
+ .mb-xxl-auto {
+ margin-bottom: auto !important;
+ }
+
+ .ms-xxl-0 {
+ margin-left: 0 !important;
+ }
+
+ .ms-xxl-1 {
+ margin-left: 0.25rem !important;
+ }
+
+ .ms-xxl-2 {
+ margin-left: 0.5rem !important;
+ }
+
+ .ms-xxl-3 {
+ margin-left: 1rem !important;
+ }
+
+ .ms-xxl-4 {
+ margin-left: 1.5rem !important;
+ }
+
+ .ms-xxl-5 {
+ margin-left: 3rem !important;
+ }
+
+ .ms-xxl-auto {
+ margin-left: auto !important;
+ }
+
+ .m-xxl-n1 {
+ margin: -0.25rem !important;
+ }
+
+ .m-xxl-n2 {
+ margin: -0.5rem !important;
+ }
+
+ .m-xxl-n3 {
+ margin: -1rem !important;
+ }
+
+ .m-xxl-n4 {
+ margin: -1.5rem !important;
+ }
+
+ .m-xxl-n5 {
+ margin: -3rem !important;
+ }
+
+ .mx-xxl-n1 {
+ margin-right: -0.25rem !important;
+ margin-left: -0.25rem !important;
+ }
+
+ .mx-xxl-n2 {
+ margin-right: -0.5rem !important;
+ margin-left: -0.5rem !important;
+ }
+
+ .mx-xxl-n3 {
+ margin-right: -1rem !important;
+ margin-left: -1rem !important;
+ }
+
+ .mx-xxl-n4 {
+ margin-right: -1.5rem !important;
+ margin-left: -1.5rem !important;
+ }
+
+ .mx-xxl-n5 {
+ margin-right: -3rem !important;
+ margin-left: -3rem !important;
+ }
+
+ .my-xxl-n1 {
+ margin-top: -0.25rem !important;
+ margin-bottom: -0.25rem !important;
+ }
+
+ .my-xxl-n2 {
+ margin-top: -0.5rem !important;
+ margin-bottom: -0.5rem !important;
+ }
+
+ .my-xxl-n3 {
+ margin-top: -1rem !important;
+ margin-bottom: -1rem !important;
+ }
+
+ .my-xxl-n4 {
+ margin-top: -1.5rem !important;
+ margin-bottom: -1.5rem !important;
+ }
+
+ .my-xxl-n5 {
+ margin-top: -3rem !important;
+ margin-bottom: -3rem !important;
+ }
+
+ .mt-xxl-n1 {
+ margin-top: -0.25rem !important;
+ }
+
+ .mt-xxl-n2 {
+ margin-top: -0.5rem !important;
+ }
+
+ .mt-xxl-n3 {
+ margin-top: -1rem !important;
+ }
+
+ .mt-xxl-n4 {
+ margin-top: -1.5rem !important;
+ }
+
+ .mt-xxl-n5 {
+ margin-top: -3rem !important;
+ }
+
+ .me-xxl-n1 {
+ margin-right: -0.25rem !important;
+ }
+
+ .me-xxl-n2 {
+ margin-right: -0.5rem !important;
+ }
+
+ .me-xxl-n3 {
+ margin-right: -1rem !important;
+ }
+
+ .me-xxl-n4 {
+ margin-right: -1.5rem !important;
+ }
+
+ .me-xxl-n5 {
+ margin-right: -3rem !important;
+ }
+
+ .mb-xxl-n1 {
+ margin-bottom: -0.25rem !important;
+ }
+
+ .mb-xxl-n2 {
+ margin-bottom: -0.5rem !important;
+ }
+
+ .mb-xxl-n3 {
+ margin-bottom: -1rem !important;
+ }
+
+ .mb-xxl-n4 {
+ margin-bottom: -1.5rem !important;
+ }
+
+ .mb-xxl-n5 {
+ margin-bottom: -3rem !important;
+ }
+
+ .ms-xxl-n1 {
+ margin-left: -0.25rem !important;
+ }
+
+ .ms-xxl-n2 {
+ margin-left: -0.5rem !important;
+ }
+
+ .ms-xxl-n3 {
+ margin-left: -1rem !important;
+ }
+
+ .ms-xxl-n4 {
+ margin-left: -1.5rem !important;
+ }
+
+ .ms-xxl-n5 {
+ margin-left: -3rem !important;
+ }
+
+ .p-xxl-0 {
+ padding: 0 !important;
+ }
+
+ .p-xxl-1 {
+ padding: 0.25rem !important;
+ }
+
+ .p-xxl-2 {
+ padding: 0.5rem !important;
+ }
+
+ .p-xxl-3 {
+ padding: 1rem !important;
+ }
+
+ .p-xxl-4 {
+ padding: 1.5rem !important;
+ }
+
+ .p-xxl-5 {
+ padding: 3rem !important;
+ }
+
+ .px-xxl-0 {
+ padding-right: 0 !important;
+ padding-left: 0 !important;
+ }
+
+ .px-xxl-1 {
+ padding-right: 0.25rem !important;
+ padding-left: 0.25rem !important;
+ }
+
+ .px-xxl-2 {
+ padding-right: 0.5rem !important;
+ padding-left: 0.5rem !important;
+ }
+
+ .px-xxl-3 {
+ padding-right: 1rem !important;
+ padding-left: 1rem !important;
+ }
+
+ .px-xxl-4 {
+ padding-right: 1.5rem !important;
+ padding-left: 1.5rem !important;
+ }
+
+ .px-xxl-5 {
+ padding-right: 3rem !important;
+ padding-left: 3rem !important;
+ }
+
+ .py-xxl-0 {
+ padding-top: 0 !important;
+ padding-bottom: 0 !important;
+ }
+
+ .py-xxl-1 {
+ padding-top: 0.25rem !important;
+ padding-bottom: 0.25rem !important;
+ }
+
+ .py-xxl-2 {
+ padding-top: 0.5rem !important;
+ padding-bottom: 0.5rem !important;
+ }
+
+ .py-xxl-3 {
+ padding-top: 1rem !important;
+ padding-bottom: 1rem !important;
+ }
+
+ .py-xxl-4 {
+ padding-top: 1.5rem !important;
+ padding-bottom: 1.5rem !important;
+ }
+
+ .py-xxl-5 {
+ padding-top: 3rem !important;
+ padding-bottom: 3rem !important;
+ }
+
+ .pt-xxl-0 {
+ padding-top: 0 !important;
+ }
+
+ .pt-xxl-1 {
+ padding-top: 0.25rem !important;
+ }
+
+ .pt-xxl-2 {
+ padding-top: 0.5rem !important;
+ }
+
+ .pt-xxl-3 {
+ padding-top: 1rem !important;
+ }
+
+ .pt-xxl-4 {
+ padding-top: 1.5rem !important;
+ }
+
+ .pt-xxl-5 {
+ padding-top: 3rem !important;
+ }
+
+ .pe-xxl-0 {
+ padding-right: 0 !important;
+ }
+
+ .pe-xxl-1 {
+ padding-right: 0.25rem !important;
+ }
+
+ .pe-xxl-2 {
+ padding-right: 0.5rem !important;
+ }
+
+ .pe-xxl-3 {
+ padding-right: 1rem !important;
+ }
+
+ .pe-xxl-4 {
+ padding-right: 1.5rem !important;
+ }
+
+ .pe-xxl-5 {
+ padding-right: 3rem !important;
+ }
+
+ .pb-xxl-0 {
+ padding-bottom: 0 !important;
+ }
+
+ .pb-xxl-1 {
+ padding-bottom: 0.25rem !important;
+ }
+
+ .pb-xxl-2 {
+ padding-bottom: 0.5rem !important;
+ }
+
+ .pb-xxl-3 {
+ padding-bottom: 1rem !important;
+ }
+
+ .pb-xxl-4 {
+ padding-bottom: 1.5rem !important;
+ }
+
+ .pb-xxl-5 {
+ padding-bottom: 3rem !important;
+ }
+
+ .ps-xxl-0 {
+ padding-left: 0 !important;
+ }
+
+ .ps-xxl-1 {
+ padding-left: 0.25rem !important;
+ }
+
+ .ps-xxl-2 {
+ padding-left: 0.5rem !important;
+ }
+
+ .ps-xxl-3 {
+ padding-left: 1rem !important;
+ }
+
+ .ps-xxl-4 {
+ padding-left: 1.5rem !important;
+ }
+
+ .ps-xxl-5 {
+ padding-left: 3rem !important;
+ }
+
+ .text-xxl-start {
+ text-align: left !important;
+ }
+
+ .text-xxl-end {
+ text-align: right !important;
+ }
+
+ .text-xxl-center {
+ text-align: center !important;
+ }
+}
+@media (min-width: 1200px) {
+ .fs-1 {
+ font-size: 2.5rem !important;
+ }
+
+ .fs-2 {
+ font-size: 2rem !important;
+ }
+
+ .fs-3 {
+ font-size: 1.75rem !important;
+ }
+
+ .fs-4 {
+ font-size: 1.5rem !important;
+ }
+
+ .fs-sm-1 {
+ font-size: 2.5rem !important;
+ }
+
+ .fs-sm-2 {
+ font-size: 2rem !important;
+ }
+
+ .fs-sm-3 {
+ font-size: 1.75rem !important;
+ }
+
+ .fs-sm-4 {
+ font-size: 1.5rem !important;
+ }
+
+ .fs-md-1 {
+ font-size: 2.5rem !important;
+ }
+
+ .fs-md-2 {
+ font-size: 2rem !important;
+ }
+
+ .fs-md-3 {
+ font-size: 1.75rem !important;
+ }
+
+ .fs-md-4 {
+ font-size: 1.5rem !important;
+ }
+
+ .fs-lg-1 {
+ font-size: 2.5rem !important;
+ }
+
+ .fs-lg-2 {
+ font-size: 2rem !important;
+ }
+
+ .fs-lg-3 {
+ font-size: 1.75rem !important;
+ }
+
+ .fs-lg-4 {
+ font-size: 1.5rem !important;
+ }
+}
+@media print {
+ .d-print-inline {
+ display: inline !important;
+ }
+
+ .d-print-inline-block {
+ display: inline-block !important;
+ }
+
+ .d-print-block {
+ display: block !important;
+ }
+
+ .d-print-grid {
+ display: grid !important;
+ }
+
+ .d-print-table {
+ display: table !important;
+ }
+
+ .d-print-table-row {
+ display: table-row !important;
+ }
+
+ .d-print-table-cell {
+ display: table-cell !important;
+ }
+
+ .d-print-flex {
+ display: flex !important;
+ }
+
+ .d-print-inline-flex {
+ display: inline-flex !important;
+ }
+
+ .d-print-none {
+ display: none !important;
+ }
+}
+.navbar {
+ padding: 1rem;
+}
+.navbar .navbar-toggler {
+ padding: 8px 12px;
+}
+@media (min-width: 576px) {
+ .navbar {
+ border-radius: 0.5rem 0.5rem 0 0;
+ }
+}
+.navbar .nav-item {
+ border-radius: 0.5rem;
+ font-weight: 600;
+}
+.navbar .nav-item:not(:last-child) {
+ margin-right: 0.5rem;
+}
+.navbar .nav-item.active {
+ background-color: rgba(0, 93, 197, 0.1);
+}
+.navbar .nav-item.active .nav-link {
+ color: #005dc5;
+}
+.navbar .nav-item .nav-link {
+ padding: 0.5rem 0.75rem;
+}
+.navbar .dropdown-toggle {
+ border-radius: 0.5rem;
+ transition: all 0.2s ease-in-out;
+}
+.navbar .dropdown-toggle.show {
+ background-color: rgba(0, 93, 197, 0.1);
+}
+.navbar .dropdown-toggle.show.nav-link {
+ color: #005dc5 !important;
+}
+
+.dropdown .dropdown-menu {
+ border: none;
+ box-shadow: 0 0 0.4px rgba(0, 0, 0, 0.02), 0 0 0.9px rgba(0, 0, 0, 0.028), 0 0 1.8px rgba(0, 0, 0, 0.035), 0 0 3.1px rgba(0, 0, 0, 0.042), 0 0 5.8px rgba(0, 0, 0, 0.05), 0 0 14px rgba(0, 0, 0, 0.07);
+ min-width: 200px;
+ border-radius: 0.5rem;
+}
+.dropdown .dropdown-menu .dropdown-item {
+ padding: 0.35rem 0.75rem;
+ transition: all 0.1s ease-in-out;
+}
+.dropdown .dropdown-menu .dropdown-item svg {
+ margin-right: 0.5rem;
+}
+.dropdown .dropdown-menu .dropdown-item:hover {
+ background-color: #005dc5;
+ color: #fff;
+}
+.dropdown .dropdown-menu .dropdown-divider {
+ margin: 0.5rem -0.5rem;
+}
+
+.card-img-top {
+ background-color: #f8f8f8;
+ background-repeat: no-repeat;
+ background-size: cover;
+ background-position: center;
+ height: 160px;
+ width: auto;
+}
+
+.card .card-header + .card-body {
+ padding: 0 1rem 1rem;
+}
+.card > :first-child {
+ border-radius: calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0;
+}
+.card .card-description-overflow {
+ overflow: hidden;
+ text-overflow: ellipsis;
+ display: -webkit-box;
+ line-height: 1.2;
+ -webkit-box-orient: vertical;
+ -webkit-line-clamp: 3;
+}
+.card .card-body {
+ padding: 1rem;
+}
+.card > .table thead th {
+ border-top: none;
+}
+.card > .table thead > tr > th:first-child,
+.card > .table tbody > tr > td:first-child {
+ padding-left: 1rem;
+}
+.card > .table thead > tr > th:last-child,
+.card > .table tbody > tr > td:last-child {
+ padding-right: 1rem;
+}
+.card .card-footer {
+ padding: 1rem;
+ border: none;
+}
+
+.modal .modal-header {
+ border-bottom: none;
+}
+.modal .modal-header .modal-title {
+ font-size: 1rem;
+}
+.modal .modal-header .close {
+ font-size: 1rem;
+ line-height: 1.5;
+}
+.modal .modal-footer {
+ border-top: none;
+}
+
+.btn-block + .btn-block {
+ margin-top: 0;
+}
+
+.btn-notification-badge {
+ position: relative;
+}
+.btn-notification-badge::after {
+ position: absolute;
+ width: 8px;
+ height: 8px;
+ border-radius: 6px;
+ top: -4px;
+ right: -4px;
+ background-color: #ffc000;
+ content: "";
+}
+
+.pagination {
+ margin: 0 auto;
+ display: inline-flex;
+ flex-direction: row;
+ justify-content: center;
+ padding: 4px;
+ border-radius: 21px;
+ box-shadow: 0 0 0.4px rgba(0, 0, 0, 0.02), 0 0 0.9px rgba(0, 0, 0, 0.028), 0 0 1.8px rgba(0, 0, 0, 0.035), 0 0 3.1px rgba(0, 0, 0, 0.042), 0 0 5.8px rgba(0, 0, 0, 0.05), 0 0 14px rgba(0, 0, 0, 0.07);
+}
+.pagination .page-item {
+ margin: 0 3px;
+ border: none;
+ font-weight: bold;
+}
+.pagination .page-item:first-child {
+ margin-left: 0;
+}
+.pagination .page-item:last-child {
+ margin-right: 0;
+}
+.pagination .page-item .page-link {
+ line-height: 0.7;
+ border: none;
+ background-color: transparent;
+ padding: 0;
+ width: 34px;
+ height: 34px;
+ border-radius: 20px;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+}
+.pagination .page-item:not(.disabled).active .page-link {
+ background-color: #005dc5;
+ color: #fff;
+}
+.pagination .page-item:not(.disabled):hover:not(.active) .page-link {
+ border: 1.5px solid #005dc5;
+ color: #005dc5;
+}
+.pagination .page-item.disabled .page-link {
+ color: #aaa;
+}
+
+.page-bar {
+ position: -webkit-sticky;
+ position: sticky;
+ top: 0;
+ background-color: rgba(255, 255, 255, 0.9);
+ -webkit-backdrop-filter: blur(20px) saturate(150%);
+ backdrop-filter: blur(20px) saturate(150%);
+ transition: all 0.2s ease-in-out;
+ display: flex;
+ flex-direction: column;
+ align-items: baseline;
+ padding: 1rem;
+}
+@media (max-width: 767px) {
+ .page-bar {
+ padding: 0.25rem 1rem 1rem;
+ }
+}
+@media (max-width: 767px) {
+ .page-bar.page-bar-tabbed {
+ padding: 0.25rem 1rem 0;
+ margin-bottom: 1rem;
+ }
+}
+.page-bar .h4 {
+ margin-right: 1rem !important;
+}
+.page-bar.flowing {
+ z-index: 1000;
+ box-shadow: 0 0 0.4px rgba(0, 0, 0, 0.02), 0 0 0.9px rgba(0, 0, 0, 0.028), 0 0 1.8px rgba(0, 0, 0, 0.035), 0 0 3.1px rgba(0, 0, 0, 0.042), 0 0 5.8px rgba(0, 0, 0, 0.05), 0 0 14px rgba(0, 0, 0, 0.07);
+}
+.page-bar .breadcrumb {
+ border-radius: 0;
+ margin: 0;
+ padding: 0;
+ background: transparent;
+}
+
+header {
+ color: #fff;
+}
+header .header-bar {
+ transition: all 0.2s ease-in-out;
+}
+@media (max-width: 575px) {
+ header .header-bar {
+ padding-left: 1rem;
+ padding-right: 1rem;
+ }
+}
+header .core-bar > :not(:last-child) {
+ margin-right: 0.5rem;
+}
+header .core-bar .core-bar-action {
+ width: 40px;
+ height: 40px;
+ border: 1.5px solid rgba(255, 255, 255, 0.1);
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ color: #fff;
+ transition: all 0.2s ease-in-out;
+ border-radius: 100px;
+}
+header .core-bar .core-bar-action:hover {
+ border-color: #ffc000;
+ color: #fff;
+}
+header .core-bar .core-bar-action.core-bar-action-account {
+ width: auto;
+}
+header .core-bar .core-bar-action.core-bar-action-account p {
+ display: inline-block;
+ margin: 0 0.5rem 0 0.75rem;
+}
+header .core-bar .core-bar-action.core-bar-action-account img {
+ height: 37px;
+ width: auto;
+}
+
+.avatar-icon {
+ display: inline-block;
+ width: 26px;
+ height: 26px;
+ border-radius: 13px;
+ background-repeat: no-repeat;
+ background-size: cover;
+ background-position: center;
+}
+
+.avatar-bar {
+ background: rgba(255, 255, 255, 0.1);
+ padding: 4px;
+ border-radius: 100px;
+ display: inline-flex;
+ justify-content: center;
+}
+.avatar-bar.border {
+ background-color: transparent;
+}
+.avatar-bar.default {
+ padding: 0;
+ background-color: transparent !important;
+ justify-content: start;
+}
+.avatar-bar.default .icon-avatar {
+ margin-left: -10px;
+ transition: all 0.2s ease-in-out;
+ border: 3px solid #fff;
+}
+.avatar-bar.default .icon-avatar:first-child {
+ margin-left: -3px;
+}
+.avatar-bar.default:hover .icon-avatar {
+ margin-left: -5px;
+}
+.avatar-bar.default:hover .icon-avatar:first-child {
+ margin-left: -3px;
+}
+.avatar-bar.avatar-bar-sm {
+ padding: 2px;
+ -webkit-backdrop-filter: blur(15px);
+ backdrop-filter: blur(15px);
+}
+.avatar-bar.avatar-bar-sm .icon-avatar {
+ width: 28px;
+ height: 28px;
+}
+.avatar-bar.avatar-bar-sm .icon-avatar small, .avatar-bar.avatar-bar-sm .icon-avatar .small {
+ font-size: 0.6rem;
+ font-weight: bold;
+ margin-top: -1px;
+}
+@media (max-width: 575px) {
+ .avatar-bar {
+ border-radius: 4px;
+ }
+}
+.avatar-bar .icon-avatar {
+ display: inline-flex;
+ width: 40px;
+ height: 40px;
+ background-color: #005dc5;
+ color: #fff;
+ border-radius: 100px;
+ align-items: center;
+ justify-content: center;
+ text-align: center;
+ margin: 2px;
+}
+.avatar-bar .icon-avatar img {
+ width: 100%;
+ height: 100%;
+ border-radius: 100px;
+ display: block;
+}
+
+.nav.nav-underline {
+ margin: 0.5rem 0;
+}
+.nav.nav-underline .nav-link {
+ padding: 0;
+ color: #000;
+ position: relative;
+}
+.nav.nav-underline .nav-link:not(:last-child) {
+ margin-right: 1rem;
+}
+.nav.nav-underline .nav-link:hover::after {
+ content: "";
+ position: absolute;
+ width: 100%;
+ height: 2px;
+ bottom: -8px;
+ left: 0;
+ transition: all 0.2s ease-in-out;
+ background-color: #005dc5;
+}
+.nav.nav-underline .nav-link.active::after {
+ content: "";
+ position: absolute;
+ width: 100%;
+ height: 2px;
+ bottom: -8px;
+ left: 0;
+ transition: all 0.2s ease-in-out;
+ background-color: #005dc5;
+}
+.nav.nav-underline .nav-link.active:hover::after {
+ width: calc(100% + 10px);
+ left: -5px;
+}
+
+body {
+ background-color: #f8f8f8;
+}
+
+hr {
+ background-color: #bdc6d0;
+ margin: 0.5rem 0;
+}
+
+.content {
+ background-color: #fff;
+ box-shadow: 0 0 0.4px rgba(0, 0, 0, 0.02), 0 0 0.9px rgba(0, 0, 0, 0.028), 0 0 1.8px rgba(0, 0, 0, 0.035), 0 0 3.1px rgba(0, 0, 0, 0.042), 0 0 5.8px rgba(0, 0, 0, 0.05), 0 0 14px rgba(0, 0, 0, 0.07);
+}
+@media (min-width: 576px) {
+ .content {
+ border-radius: 0 0 0.5rem 0.5rem;
+ }
+}
+.content .content-box {
+ padding: 0 1rem 1rem;
+}
+.content .content-box .col-12.card-set {
+ margin-bottom: -1rem;
+}
+.content .content-box > .row > div:not(:first-child) {
+ margin-top: 1rem;
+}
+.content .content-box > .row > div.card-set {
+ margin-bottom: -1rem;
+}
+.content .content-box > .row:not(:first-child) > div {
+ margin-top: 1rem;
+}
+.content .content-box fieldset.row > div:not(:first-child) {
+ margin-top: 1rem;
+}
+.content .content-box fieldset.row > div.card-set {
+ margin-bottom: -1rem;
+}
+
+a:hover {
+ text-decoration: none;
+}
+
+.table thead th {
+ border-bottom: 2px solid #dee2e6 !important;
+}
+
+.form-text {
+ display: block;
+}
+
+.btn-close {
+ background: none;
+ width: auto;
+ height: auto;
+}
+
+.label {
+ font-size: 100%;
+ font-weight: 600;
+ padding: 1px 0 2px 0 !important;
+ margin-right: 10px;
+}
+.label + .label {
+ margin-left: 4px;
+}
+.label.vnext, .label.leak {
+ color: #e52262;
+}
+.label.skip {
+ color: #e74018;
+}
+.label.fast {
+ color: #fb8009;
+}
+.label.slow {
+ color: #ffc000;
+}
+.label.preview {
+ color: #c0d700;
+}
+.label.release {
+ color: #97c800;
+}
+.label.targeted {
+ color: #46c429;
+}
+.label.broad {
+ color: #10b08f;
+}
+.label.ltsc {
+ color: #0098df;
+}
+
+.mobile {
+ color: #00bcf2;
+}
+
+.iso {
+ color: #00cea6;
+}
+
+.iot {
+ color: #f7630c;
+}
+
+.holographic {
+ color: #ff4343;
+}
+
+.pc {
+ color: #0078d7;
+}
+
+.tenx {
+ color: #9ad93a;
+}
+
+.xbox {
+ color: #107c10;
+}
+
+.team {
+ color: #e3008c;
+}
+
+.server {
+ color: #ffb900;
+}
+
+.sdk {
+ color: #886ce4;
+}
+
+.bg-mobile {
+ background-color: #00bcf2;
+}
+
+.bg-iso {
+ background-color: #00cea6;
+}
+
+.bg-iot {
+ background-color: #f7630c;
+}
+
+.bg-holographic {
+ background-color: #ff4343;
+}
+
+.bg-pc {
+ background-color: #0078d7;
+}
+
+.bg-tenx {
+ background-color: #9ad93a;
+}
+
+.bg-xbox {
+ background-color: #107c10;
+}
+
+.bg-team {
+ background-color: #e3008c;
+}
+
+.bg-server {
+ background-color: #ffb900;
+}
+
+.bg-sdk {
+ background-color: #886ce4;
+}
+
+.pb-g {
+ padding-bottom: 1rem;
+}
+
+.bg-image {
+ background-repeat: no-repeat;
+ background-size: cover;
+ background-position: center;
+}
+
+.bg-primary-g {
+ background-image: linear-gradient(90deg, #00abfa 0%, #005dc5 100%) !important;
+}
+
+.bg-top {
+ background-image: linear-gradient(90deg, #00abfa 0%, #005dc5 100%) !important;
+}
+
+.acrylic-20-light {
+ background-color: rgba(255, 255, 255, 0.6);
+ -webkit-backdrop-filter: blur(20px);
+ backdrop-filter: blur(20px);
+}
+
+.form-group:last-child {
+ margin-bottom: 0;
+}
+
+.input-group-prepend .input-group-text {
+ border-top-right-radius: 0;
+ border-bottom-right-radius: 0;
+}
+
+.form-control,
+.input-group-text {
+ border-width: 1.5px;
+}
+
+.dropdown-item {
+ height: 2.25rem;
+}
+.dropdown-item > svg[style] {
+ transition: all 0.2s ease-in-out;
+}
+.dropdown-item:hover > svg[style] {
+ color: #fff !important;
+}
+
+.dot {
+ width: 6px;
+ height: 6px;
+ border-radius: 6px !important;
+ margin-right: 0.5rem;
+}
+
+.action-close {
+ background-color: transparent;
+ width: 40px;
+ height: 40px;
+ border: 1.5px solid rgba(255, 255, 255, 0.1);
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ color: #fff;
+ transition: all 0.2s ease-in-out;
+ border-radius: 100px;
+ position: absolute;
+ top: 16px;
+ right: 24px;
+}
+.action-close:hover {
+ border-color: #ffc000;
+ color: #fff;
+}
+
+.h5.title {
+ margin-top: 0.25rem;
+ margin-bottom: 0.25rem;
+}
+
+.stats .count {
+ font-size: 2rem;
+ font-weight: 700;
+ margin: 0 0 -0.5rem 0;
+}
+@media (max-width: 575px) {
+ .stats .count {
+ font-size: 1rem;
+ }
+}
+.stats .count small, .stats .count .small {
+ font-size: 1rem;
+ color: #6c757d;
+}
+@media (max-width: 575px) {
+ .stats .count small, .stats .count .small {
+ font-weight: 400;
+ }
+}
+.stats .description {
+ font-weight: 600;
+ font-size: 1.25rem;
+ margin: 0;
+}
+
+.table .td-btn {
+ padding: 0.3rem 0.5rem;
+}
+.table tbody tr:last-child td {
+ border-bottom: none;
+}
+
+footer {
+ margin: 1rem;
+ text-align: center;
+}
+
+.text-guide {
+ font-weight: 700;
+}
+
+body {
+ scrollbar-color: #ccc #fff;
+ scrollbar-width: thin;
+}
+body::-webkit-scrollbar {
+ width: 6px;
+}
+body::-webkit-scrollbar-track {
+ margin-bottom: 2px;
+ margin-top: 2px;
+}
+body::-webkit-scrollbar-thumb {
+ background-color: #ccc;
+ border-radius: 10px;
+}
+
+.f-384 {
+ font-family: "Century Gothic", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
+ color: #222;
+}
+.f-384:hover {
+ color: #444 !important;
+}
+
+.studio-384 {
+ background-image: linear-gradient(-45deg, #00b573 0%, #78b500 100%);
+ -webkit-background-clip: text;
+ background-clip: text;
+ -webkit-text-fill-color: transparent;
+}
+
+@media (prefers-color-scheme: dark) {
+ body {
+ background-color: #141414;
+ color: #fff;
+ }
+
+ .content {
+ background-color: #242424;
+ }
+
+ .acrylic-20-light {
+ background-color: rgba(0, 0, 0, 0.6);
+ -webkit-backdrop-filter: blur(20px);
+ backdrop-filter: blur(20px);
+ }
+
+ .avatar-bar.default .icon-avatar {
+ border-color: #333;
+ }
+
+ .card {
+ background-color: #333;
+ }
+ .card .card-img-top {
+ background-color: #3b3b3b;
+ }
+ .card .card-body.bg-light {
+ background-color: #383838 !important;
+ }
+ .card .card-footer {
+ background-color: #2b2b2b;
+ }
+
+ .nav.nav-underline .nav-link {
+ color: #fff;
+ }
+
+ .navbar.bg-light {
+ background-color: #1c1c1c !important;
+ }
+ .navbar .nav-item .nav-link,
+.navbar .nav-item .nav-link:hover {
+ color: #fff;
+ }
+
+ .dropdown .dropdown-menu {
+ background-color: #2b2b2b;
+ }
+ .dropdown .dropdown-menu .dropdown-item {
+ color: #fff;
+ }
+ .dropdown .dropdown-menu .dropdown-item.disabled {
+ color: rgba(255, 255, 255, 0.6);
+ }
+ .dropdown .dropdown-menu .dropdown-item:focus {
+ background-color: #242424;
+ }
+
+ .page-bar {
+ background-color: rgba(36, 36, 36, 0.9);
+ }
+
+ .form-control,
+.form-select {
+ color: #fff;
+ background-color: #3b3b3b;
+ border-color: #4a4a4a;
+ }
+ .form-control:active, .form-control:focus,
+.form-select:active,
+.form-select:focus {
+ color: #fff;
+ background-color: #3b3b3b;
+ border-color: #005dc5;
+ }
+ .form-control::file-selector-button, .form-control::-webkit-file-upload-button,
+.form-select::file-selector-button,
+.form-select::-webkit-file-upload-button {
+ border-color: #4a4a4a;
+ background-color: #3b3b3b;
+ }
+
+ .editor-toolbar {
+ border-color: #4a4a4a !important;
+ }
+ .editor-toolbar button {
+ color: #fff !important;
+ }
+ .editor-toolbar button:hover {
+ background-color: #2b2b2b !important;
+ border-color: #242424 !important;
+ }
+ .editor-toolbar .separator {
+ border-left-color: #242424 !important;
+ border-right: none !important;
+ }
+
+ .CodeMirror {
+ background-color: #3b3b3b !important;
+ border-color: #4a4a4a !important;
+ color: #fff !important;
+ }
+
+ .navbar-light .navbar-toggler {
+ color: rgba(255, 255, 255, 0.55);
+ border-color: rgba(255, 255, 255, 0.1);
+ }
+
+ .link-dark {
+ color: #fff;
+ }
+ .link-dark:hover {
+ color: #d9d9d9;
+ }
+
+ .text-muted {
+ color: #ced4da !important;
+ }
+
+ .stats .count small, .stats .count .small {
+ color: #ced4da;
+ }
+
+ .table {
+ color: #fff !important;
+ }
+ .table.table-striped tbody tr:nth-of-type(odd) {
+ color: #fff !important;
+ }
+ .table thead th {
+ border-bottom: 2px solid #242424 !important;
+ }
+ .table td {
+ border-bottom-color: #242424;
+ }
+
+ .f-384 {
+ color: #fff;
+ }
+ .f-384:hover {
+ color: #ddd !important;
+ }
+
+ .modal-content {
+ background: #333;
+ }
+
+ body {
+ scrollbar-color: #424242 #333;
+ }
+ body::-webkit-scrollbar-thumb {
+ background-color: #424242;
+ }
+
+ .btn-close {
+ color: #fff !important;
+ }
+
+ .input-group-prepend .input-group-text {
+ color: #f8f9fa;
+ background-color: #333;
+ border-color: #4a4a4a;
+ }
+}
diff --git a/public/css/app.css b/public/css/app.css
index e8dbc67..b8f1d9a 100644
--- a/public/css/app.css
+++ b/public/css/app.css
@@ -4,40 +4,36 @@
* Licensed under AGPL
*/
/*!
- * Bootstrap v4.5.3 (https://getbootstrap.com/)
+ * Bootstrap v5.0.0-beta1 (https://getbootstrap.com/)
* Copyright 2011-2020 The Bootstrap Authors
* Copyright 2011-2020 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
*/
:root {
- --blue: #0f6dec;
- --indigo: #6574cd;
- --purple: #9561e2;
- --pink: #e52262;
- --red: #e74018;
- --orange: #fb8009;
- --yellow: #ffc000;
- --green: #97c800;
- --teal: #10b08f;
- --cyan: #0098df;
- --white: #fff;
- --gray: #6c757d;
- --gray-dark: #343a40;
- --primary: #0078d7;
- --secondary: #6c757d;
- --success: #97c800;
- --info: #0098df;
- --warning: #ffc000;
- --danger: #e74018;
- --light: #f8f9fa;
- --dark: #343a40;
- --breakpoint-xs: 0;
- --breakpoint-sm: 576px;
- --breakpoint-md: 768px;
- --breakpoint-lg: 992px;
- --breakpoint-xl: 1200px;
- --font-family-sans-serif: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
- --font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
+ --bs-blue: #0f6dec;
+ --bs-indigo: #6574cd;
+ --bs-purple: #9561e2;
+ --bs-pink: #e52262;
+ --bs-red: #e74018;
+ --bs-orange: #fb8009;
+ --bs-yellow: #ffc000;
+ --bs-green: #97c800;
+ --bs-teal: #10b08f;
+ --bs-cyan: #0098df;
+ --bs-white: #fff;
+ --bs-gray: #6c757d;
+ --bs-gray-dark: #343a40;
+ --bs-primary: #005dc5;
+ --bs-secondary: #6c757d;
+ --bs-success: #97c800;
+ --bs-info: #0098df;
+ --bs-warning: #ffc000;
+ --bs-danger: #e74018;
+ --bs-light: #f8f9fa;
+ --bs-dark: #212529;
+ --bs-font-sans-serif: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
+ --bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
+ --bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));
}
*,
@@ -46,26 +42,22 @@
box-sizing: border-box;
}
-html {
- font-family: sans-serif;
- line-height: 1.15;
- -webkit-text-size-adjust: 100%;
- -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
-}
-
-article, aside, figcaption, figure, footer, header, hgroup, main, nav, section {
- display: block;
+@media (prefers-reduced-motion: no-preference) {
+ :root {
+ scroll-behavior: smooth;
+ }
}
body {
margin: 0;
- font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
+ font-family: var(--bs-font-sans-serif);
font-size: 1rem;
font-weight: 400;
line-height: 1.6;
color: #212529;
- text-align: left;
background-color: #fff;
+ -webkit-text-size-adjust: 100%;
+ -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
[tabindex="-1"]:focus:not(:focus-visible) {
@@ -73,14 +65,66 @@ body {
}
hr {
- box-sizing: content-box;
- height: 0;
- overflow: visible;
+ margin: 1rem 0;
+ color: inherit;
+ background-color: currentColor;
+ border: 0;
+ opacity: 0.25;
+}
+
+hr:not([size]) {
+ height: 1px;
}
-h1, h2, h3, h4, h5, h6 {
+h6, .h6, h5, .h5, h4, .h4, h3, .h3, h2, .h2, h1, .h1 {
margin-top: 0;
margin-bottom: 0.5rem;
+ font-weight: 500;
+ line-height: 1.2;
+}
+
+h1, .h1 {
+ font-size: calc(1.375rem + 1.5vw);
+}
+@media (min-width: 1200px) {
+ h1, .h1 {
+ font-size: 2.5rem;
+ }
+}
+
+h2, .h2 {
+ font-size: calc(1.325rem + 0.9vw);
+}
+@media (min-width: 1200px) {
+ h2, .h2 {
+ font-size: 2rem;
+ }
+}
+
+h3, .h3 {
+ font-size: calc(1.3rem + 0.6vw);
+}
+@media (min-width: 1200px) {
+ h3, .h3 {
+ font-size: 1.75rem;
+ }
+}
+
+h4, .h4 {
+ font-size: calc(1.275rem + 0.3vw);
+}
+@media (min-width: 1200px) {
+ h4, .h4 {
+ font-size: 1.5rem;
+ }
+}
+
+h5, .h5 {
+ font-size: 1.25rem;
+}
+
+h6, .h6 {
+ font-size: 1rem;
}
p {
@@ -89,12 +133,11 @@ p {
}
abbr[title],
-abbr[data-original-title] {
+abbr[data-bs-original-title] {
text-decoration: underline;
-webkit-text-decoration: underline dotted;
text-decoration: underline dotted;
cursor: help;
- border-bottom: 0;
-webkit-text-decoration-skip-ink: none;
text-decoration-skip-ink: none;
}
@@ -105,6 +148,11 @@ address {
line-height: inherit;
}
+ol,
+ul {
+ padding-left: 2rem;
+}
+
ol,
ul,
dl {
@@ -137,14 +185,19 @@ strong {
font-weight: bolder;
}
-small {
- font-size: 80%;
+small, .small {
+ font-size: 0.875em;
+}
+
+mark, .mark {
+ padding: 0.2em;
+ background-color: #fcf8e3;
}
sub,
sup {
position: relative;
- font-size: 75%;
+ font-size: 0.75em;
line-height: 0;
vertical-align: baseline;
}
@@ -158,20 +211,14 @@ sup {
}
a {
- color: #0078d7;
- text-decoration: none;
- background-color: transparent;
+ color: #005dc5;
+ text-decoration: underline;
}
a:hover {
- color: #004d8b;
- text-decoration: underline;
+ color: #004a9e;
}
-a:not([href]):not([class]) {
- color: inherit;
- text-decoration: none;
-}
-a:not([href]):not([class]):hover {
+a:not([href]):not([class]), a:not([href]):not([class]):hover {
color: inherit;
text-decoration: none;
}
@@ -180,41 +227,66 @@ pre,
code,
kbd,
samp {
- font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
+ font-family: var(--bs-font-monospace);
font-size: 1em;
+ direction: ltr /* rtl:ignore */;
+ unicode-bidi: bidi-override;
}
pre {
+ display: block;
margin-top: 0;
margin-bottom: 1rem;
overflow: auto;
- -ms-overflow-style: scrollbar;
+ font-size: 0.875em;
+}
+pre code {
+ font-size: inherit;
+ color: inherit;
+ word-break: normal;
}
-figure {
- margin: 0 0 1rem;
+code {
+ font-size: 0.875em;
+ color: #e52262;
+ word-wrap: break-word;
+}
+a > code {
+ color: inherit;
}
-img {
- vertical-align: middle;
- border-style: none;
+kbd {
+ padding: 0.2rem 0.4rem;
+ font-size: 0.875em;
+ color: #fff;
+ background-color: #212529;
+ border-radius: 0.2rem;
+}
+kbd kbd {
+ padding: 0;
+ font-size: 1em;
+ font-weight: 700;
+}
+
+figure {
+ margin: 0 0 1rem;
}
+img,
svg {
- overflow: hidden;
vertical-align: middle;
}
table {
+ caption-side: bottom;
border-collapse: collapse;
}
caption {
- padding-top: 0.75rem;
- padding-bottom: 0.75rem;
+ padding-top: 0.5rem;
+ padding-bottom: 0.5rem;
color: #6c757d;
text-align: left;
- caption-side: bottom;
}
th {
@@ -222,9 +294,19 @@ th {
text-align: -webkit-match-parent;
}
+thead,
+tbody,
+tfoot,
+tr,
+td,
+th {
+ border-color: inherit;
+ border-style: solid;
+ border-width: 0;
+}
+
label {
display: inline-block;
- margin-bottom: 0.5rem;
}
button {
@@ -232,8 +314,8 @@ button {
}
button:focus {
- outline: 1px dotted;
- outline: 5px auto -webkit-focus-ring-color;
+ outline: dotted 1px;
+ outline: -webkit-focus-ring-color auto 5px;
}
input,
@@ -247,11 +329,6 @@ textarea {
line-height: inherit;
}
-button,
-input {
- overflow: visible;
-}
-
button,
select {
text-transform: none;
@@ -265,13 +342,16 @@ select {
word-wrap: normal;
}
+[list]::-webkit-calendar-picker-indicator {
+ display: none;
+}
+
button,
[type=button],
[type=reset],
[type=submit] {
-webkit-appearance: button;
}
-
button:not(:disabled),
[type=button]:not(:disabled),
[type=reset]:not(:disabled),
@@ -279,22 +359,12 @@ button:not(:disabled),
cursor: pointer;
}
-button::-moz-focus-inner,
-[type=button]::-moz-focus-inner,
-[type=reset]::-moz-focus-inner,
-[type=submit]::-moz-focus-inner {
+::-moz-focus-inner {
padding: 0;
border-style: none;
}
-input[type=radio],
-input[type=checkbox] {
- box-sizing: border-box;
- padding: 0;
-}
-
textarea {
- overflow: auto;
resize: vertical;
}
@@ -306,35 +376,61 @@ fieldset {
}
legend {
- display: block;
+ float: left;
width: 100%;
- max-width: 100%;
padding: 0;
margin-bottom: 0.5rem;
- font-size: 1.5rem;
+ font-size: calc(1.275rem + 0.3vw);
line-height: inherit;
- color: inherit;
- white-space: normal;
+}
+@media (min-width: 1200px) {
+ legend {
+ font-size: 1.5rem;
+ }
+}
+legend + * {
+ clear: left;
}
-progress {
- vertical-align: baseline;
+::-webkit-datetime-edit-fields-wrapper,
+::-webkit-datetime-edit-text,
+::-webkit-datetime-edit-minute,
+::-webkit-datetime-edit-hour-field,
+::-webkit-datetime-edit-day-field,
+::-webkit-datetime-edit-month-field,
+::-webkit-datetime-edit-year-field {
+ padding: 0;
}
-[type=number]::-webkit-inner-spin-button,
-[type=number]::-webkit-outer-spin-button {
+::-webkit-inner-spin-button {
height: auto;
}
[type=search] {
outline-offset: -2px;
- -webkit-appearance: none;
+ -webkit-appearance: textfield;
}
-[type=search]::-webkit-search-decoration {
+/* rtl:raw:
+[type="tel"],
+[type="url"],
+[type="email"],
+[type="number"] {
+ direction: ltr;
+}
+*/
+::-webkit-search-decoration {
-webkit-appearance: none;
}
+::-webkit-color-swatch-wrapper {
+ padding: 0;
+}
+
+::file-selector-button {
+ font: inherit;
+}
+
::-webkit-file-upload-button {
font: inherit;
-webkit-appearance: button;
@@ -344,96 +440,92 @@ output {
display: inline-block;
}
+iframe {
+ border: 0;
+}
+
summary {
display: list-item;
cursor: pointer;
}
-template {
- display: none;
+progress {
+ vertical-align: baseline;
}
[hidden] {
display: none !important;
}
-h1, h2, h3, h4, h5, h6,
-.h1, .h2, .h3, .h4, .h5, .h6 {
- margin-bottom: 0.5rem;
- font-weight: 500;
- line-height: 1.2;
-}
-
-h1, .h1 {
- font-size: 2.5rem;
-}
-
-h2, .h2 {
- font-size: 2rem;
-}
-
-h3, .h3 {
- font-size: 1.75rem;
-}
-
-h4, .h4 {
- font-size: 1.5rem;
-}
-
-h5, .h5 {
- font-size: 1.25rem;
-}
-
-h6, .h6 {
- font-size: 1rem;
-}
-
.lead {
font-size: 1.25rem;
font-weight: 300;
}
.display-1 {
- font-size: 6rem;
+ font-size: calc(1.625rem + 4.5vw);
font-weight: 300;
line-height: 1.2;
}
+@media (min-width: 1200px) {
+ .display-1 {
+ font-size: 5rem;
+ }
+}
.display-2 {
- font-size: 5.5rem;
+ font-size: calc(1.575rem + 3.9vw);
font-weight: 300;
line-height: 1.2;
}
+@media (min-width: 1200px) {
+ .display-2 {
+ font-size: 4.5rem;
+ }
+}
.display-3 {
- font-size: 4.5rem;
+ font-size: calc(1.525rem + 3.3vw);
font-weight: 300;
line-height: 1.2;
}
+@media (min-width: 1200px) {
+ .display-3 {
+ font-size: 4rem;
+ }
+}
.display-4 {
- font-size: 3.5rem;
+ font-size: calc(1.475rem + 2.7vw);
font-weight: 300;
line-height: 1.2;
}
-
-hr {
- margin-top: 1rem;
- margin-bottom: 1rem;
- border: 0;
- border-top: 1px solid rgba(0, 0, 0, 0.1);
+@media (min-width: 1200px) {
+ .display-4 {
+ font-size: 3.5rem;
+ }
}
-small,
-.small {
- font-size: 80%;
- font-weight: 400;
+.display-5 {
+ font-size: calc(1.425rem + 2.1vw);
+ font-weight: 300;
+ line-height: 1.2;
+}
+@media (min-width: 1200px) {
+ .display-5 {
+ font-size: 3rem;
+ }
}
-mark,
-.mark {
- padding: 0.2em;
- background-color: #fcf8e3;
+.display-6 {
+ font-size: calc(1.375rem + 1.5vw);
+ font-weight: 300;
+ line-height: 1.2;
+}
+@media (min-width: 1200px) {
+ .display-6 {
+ font-size: 2.5rem;
+ }
}
.list-unstyled {
@@ -454,7 +546,7 @@ mark,
}
.initialism {
- font-size: 90%;
+ font-size: 0.875em;
text-transform: uppercase;
}
@@ -462,14 +554,18 @@ mark,
margin-bottom: 1rem;
font-size: 1.25rem;
}
+.blockquote > :last-child {
+ margin-bottom: 0;
+}
.blockquote-footer {
- display: block;
- font-size: 80%;
+ margin-top: -1rem;
+ margin-bottom: 1rem;
+ font-size: 0.875em;
color: #6c757d;
}
.blockquote-footer::before {
- content: "\2014\A0";
+ content: "— ";
}
.img-fluid {
@@ -496,57 +592,20 @@ mark,
}
.figure-caption {
- font-size: 90%;
+ font-size: 0.875em;
color: #6c757d;
}
-code {
- font-size: 87.5%;
- color: #e52262;
- word-wrap: break-word;
-}
-a > code {
- color: inherit;
-}
-
-kbd {
- padding: 0.2rem 0.4rem;
- font-size: 87.5%;
- color: #fff;
- background-color: #212529;
- border-radius: 0.2rem;
-}
-kbd kbd {
- padding: 0;
- font-size: 100%;
- font-weight: 700;
-}
-
-pre {
- display: block;
- font-size: 87.5%;
- color: #212529;
-}
-pre code {
- font-size: inherit;
- color: inherit;
- word-break: normal;
-}
-
-.pre-scrollable {
- max-height: 340px;
- overflow-y: scroll;
-}
-
.container,
.container-fluid,
+.container-xxl,
.container-xl,
.container-lg,
.container-md,
.container-sm {
width: 100%;
- padding-right: 15px;
- padding-left: 15px;
+ padding-right: var(--bs-gutter-x, 0.75rem);
+ padding-left: var(--bs-gutter-x, 0.75rem);
margin-right: auto;
margin-left: auto;
}
@@ -571,402 +630,339 @@ pre code {
max-width: 1140px;
}
}
+.container-xl, .container-lg, .container-md, .container-sm, .container {
+ max-width: 1320px;
+}
+
.row {
+ --bs-gutter-x: 1.5rem;
+ --bs-gutter-y: 0;
display: flex;
flex-wrap: wrap;
- margin-right: -15px;
- margin-left: -15px;
-}
-
-.no-gutters {
- margin-right: 0;
- margin-left: 0;
-}
-.no-gutters > .col,
-.no-gutters > [class*=col-] {
- padding-right: 0;
- padding-left: 0;
+ margin-top: calc(var(--bs-gutter-y) * -1);
+ margin-right: calc(var(--bs-gutter-x) / -2);
+ margin-left: calc(var(--bs-gutter-x) / -2);
}
-
-.col-xl,
-.col-xl-auto, .col-xl-12, .col-xl-11, .col-xl-10, .col-xl-9, .col-xl-8, .col-xl-7, .col-xl-6, .col-xl-5, .col-xl-4, .col-xl-3, .col-xl-2, .col-xl-1, .col-lg,
-.col-lg-auto, .col-lg-12, .col-lg-11, .col-lg-10, .col-lg-9, .col-lg-8, .col-lg-7, .col-lg-6, .col-lg-5, .col-lg-4, .col-lg-3, .col-lg-2, .col-lg-1, .col-md,
-.col-md-auto, .col-md-12, .col-md-11, .col-md-10, .col-md-9, .col-md-8, .col-md-7, .col-md-6, .col-md-5, .col-md-4, .col-md-3, .col-md-2, .col-md-1, .col-sm,
-.col-sm-auto, .col-sm-12, .col-sm-11, .col-sm-10, .col-sm-9, .col-sm-8, .col-sm-7, .col-sm-6, .col-sm-5, .col-sm-4, .col-sm-3, .col-sm-2, .col-sm-1, .col,
-.col-auto, .col-12, .col-11, .col-10, .col-9, .col-8, .col-7, .col-6, .col-5, .col-4, .col-3, .col-2, .col-1 {
- position: relative;
+.row > * {
+ flex-shrink: 0;
width: 100%;
- padding-right: 15px;
- padding-left: 15px;
+ max-width: 100%;
+ padding-right: calc(var(--bs-gutter-x) / 2);
+ padding-left: calc(var(--bs-gutter-x) / 2);
+ margin-top: var(--bs-gutter-y);
}
.col {
- flex-basis: 0;
- flex-grow: 1;
- max-width: 100%;
+ flex: 1 0 0%;
+}
+
+.row-cols-auto > * {
+ flex: 0 0 auto;
+ width: auto;
}
.row-cols-1 > * {
- flex: 0 0 100%;
- max-width: 100%;
+ flex: 0 0 auto;
+ width: 100%;
}
.row-cols-2 > * {
- flex: 0 0 50%;
- max-width: 50%;
+ flex: 0 0 auto;
+ width: 50%;
}
.row-cols-3 > * {
- flex: 0 0 33.3333333333%;
- max-width: 33.3333333333%;
+ flex: 0 0 auto;
+ width: 33.3333333333%;
}
.row-cols-4 > * {
- flex: 0 0 25%;
- max-width: 25%;
+ flex: 0 0 auto;
+ width: 25%;
}
.row-cols-5 > * {
- flex: 0 0 20%;
- max-width: 20%;
+ flex: 0 0 auto;
+ width: 20%;
}
.row-cols-6 > * {
- flex: 0 0 16.6666666667%;
- max-width: 16.6666666667%;
+ flex: 0 0 auto;
+ width: 16.6666666667%;
}
.col-auto {
flex: 0 0 auto;
width: auto;
- max-width: 100%;
}
.col-1 {
- flex: 0 0 8.3333333333%;
- max-width: 8.3333333333%;
+ flex: 0 0 auto;
+ width: 8.3333333333%;
}
.col-2 {
- flex: 0 0 16.6666666667%;
- max-width: 16.6666666667%;
+ flex: 0 0 auto;
+ width: 16.6666666667%;
}
.col-3 {
- flex: 0 0 25%;
- max-width: 25%;
+ flex: 0 0 auto;
+ width: 25%;
}
.col-4 {
- flex: 0 0 33.3333333333%;
- max-width: 33.3333333333%;
+ flex: 0 0 auto;
+ width: 33.3333333333%;
}
.col-5 {
- flex: 0 0 41.6666666667%;
- max-width: 41.6666666667%;
+ flex: 0 0 auto;
+ width: 41.6666666667%;
}
.col-6 {
- flex: 0 0 50%;
- max-width: 50%;
+ flex: 0 0 auto;
+ width: 50%;
}
.col-7 {
- flex: 0 0 58.3333333333%;
- max-width: 58.3333333333%;
+ flex: 0 0 auto;
+ width: 58.3333333333%;
}
.col-8 {
- flex: 0 0 66.6666666667%;
- max-width: 66.6666666667%;
+ flex: 0 0 auto;
+ width: 66.6666666667%;
}
.col-9 {
- flex: 0 0 75%;
- max-width: 75%;
+ flex: 0 0 auto;
+ width: 75%;
}
.col-10 {
- flex: 0 0 83.3333333333%;
- max-width: 83.3333333333%;
+ flex: 0 0 auto;
+ width: 83.3333333333%;
}
.col-11 {
- flex: 0 0 91.6666666667%;
- max-width: 91.6666666667%;
+ flex: 0 0 auto;
+ width: 91.6666666667%;
}
.col-12 {
- flex: 0 0 100%;
- max-width: 100%;
-}
-
-.order-first {
- order: -1;
-}
-
-.order-last {
- order: 13;
-}
-
-.order-0 {
- order: 0;
+ flex: 0 0 auto;
+ width: 100%;
}
-.order-1 {
- order: 1;
+.offset-1 {
+ margin-left: 8.3333333333%;
}
-.order-2 {
- order: 2;
+.offset-2 {
+ margin-left: 16.6666666667%;
}
-.order-3 {
- order: 3;
+.offset-3 {
+ margin-left: 25%;
}
-.order-4 {
- order: 4;
+.offset-4 {
+ margin-left: 33.3333333333%;
}
-.order-5 {
- order: 5;
+.offset-5 {
+ margin-left: 41.6666666667%;
}
-.order-6 {
- order: 6;
+.offset-6 {
+ margin-left: 50%;
}
-.order-7 {
- order: 7;
+.offset-7 {
+ margin-left: 58.3333333333%;
}
-.order-8 {
- order: 8;
+.offset-8 {
+ margin-left: 66.6666666667%;
}
-.order-9 {
- order: 9;
+.offset-9 {
+ margin-left: 75%;
}
-.order-10 {
- order: 10;
+.offset-10 {
+ margin-left: 83.3333333333%;
}
-.order-11 {
- order: 11;
+.offset-11 {
+ margin-left: 91.6666666667%;
}
-.order-12 {
- order: 12;
+.g-0,
+.gx-0 {
+ --bs-gutter-x: 0;
}
-.offset-1 {
- margin-left: 8.3333333333%;
+.g-0,
+.gy-0 {
+ --bs-gutter-y: 0;
}
-.offset-2 {
- margin-left: 16.6666666667%;
+.g-1,
+.gx-1 {
+ --bs-gutter-x: 0.25rem;
}
-.offset-3 {
- margin-left: 25%;
+.g-1,
+.gy-1 {
+ --bs-gutter-y: 0.25rem;
}
-.offset-4 {
- margin-left: 33.3333333333%;
+.g-2,
+.gx-2 {
+ --bs-gutter-x: 0.5rem;
}
-.offset-5 {
- margin-left: 41.6666666667%;
+.g-2,
+.gy-2 {
+ --bs-gutter-y: 0.5rem;
}
-.offset-6 {
- margin-left: 50%;
+.g-3,
+.gx-3 {
+ --bs-gutter-x: 1rem;
}
-.offset-7 {
- margin-left: 58.3333333333%;
+.g-3,
+.gy-3 {
+ --bs-gutter-y: 1rem;
}
-.offset-8 {
- margin-left: 66.6666666667%;
+.g-4,
+.gx-4 {
+ --bs-gutter-x: 1.5rem;
}
-.offset-9 {
- margin-left: 75%;
+.g-4,
+.gy-4 {
+ --bs-gutter-y: 1.5rem;
}
-.offset-10 {
- margin-left: 83.3333333333%;
+.g-5,
+.gx-5 {
+ --bs-gutter-x: 3rem;
}
-.offset-11 {
- margin-left: 91.6666666667%;
+.g-5,
+.gy-5 {
+ --bs-gutter-y: 3rem;
}
@media (min-width: 576px) {
.col-sm {
- flex-basis: 0;
- flex-grow: 1;
- max-width: 100%;
+ flex: 1 0 0%;
+ }
+
+ .row-cols-sm-auto > * {
+ flex: 0 0 auto;
+ width: auto;
}
.row-cols-sm-1 > * {
- flex: 0 0 100%;
- max-width: 100%;
+ flex: 0 0 auto;
+ width: 100%;
}
.row-cols-sm-2 > * {
- flex: 0 0 50%;
- max-width: 50%;
+ flex: 0 0 auto;
+ width: 50%;
}
.row-cols-sm-3 > * {
- flex: 0 0 33.3333333333%;
- max-width: 33.3333333333%;
+ flex: 0 0 auto;
+ width: 33.3333333333%;
}
.row-cols-sm-4 > * {
- flex: 0 0 25%;
- max-width: 25%;
+ flex: 0 0 auto;
+ width: 25%;
}
.row-cols-sm-5 > * {
- flex: 0 0 20%;
- max-width: 20%;
+ flex: 0 0 auto;
+ width: 20%;
}
.row-cols-sm-6 > * {
- flex: 0 0 16.6666666667%;
- max-width: 16.6666666667%;
+ flex: 0 0 auto;
+ width: 16.6666666667%;
}
.col-sm-auto {
flex: 0 0 auto;
width: auto;
- max-width: 100%;
}
.col-sm-1 {
- flex: 0 0 8.3333333333%;
- max-width: 8.3333333333%;
+ flex: 0 0 auto;
+ width: 8.3333333333%;
}
.col-sm-2 {
- flex: 0 0 16.6666666667%;
- max-width: 16.6666666667%;
+ flex: 0 0 auto;
+ width: 16.6666666667%;
}
.col-sm-3 {
- flex: 0 0 25%;
- max-width: 25%;
+ flex: 0 0 auto;
+ width: 25%;
}
.col-sm-4 {
- flex: 0 0 33.3333333333%;
- max-width: 33.3333333333%;
+ flex: 0 0 auto;
+ width: 33.3333333333%;
}
.col-sm-5 {
- flex: 0 0 41.6666666667%;
- max-width: 41.6666666667%;
+ flex: 0 0 auto;
+ width: 41.6666666667%;
}
.col-sm-6 {
- flex: 0 0 50%;
- max-width: 50%;
+ flex: 0 0 auto;
+ width: 50%;
}
.col-sm-7 {
- flex: 0 0 58.3333333333%;
- max-width: 58.3333333333%;
+ flex: 0 0 auto;
+ width: 58.3333333333%;
}
.col-sm-8 {
- flex: 0 0 66.6666666667%;
- max-width: 66.6666666667%;
+ flex: 0 0 auto;
+ width: 66.6666666667%;
}
.col-sm-9 {
- flex: 0 0 75%;
- max-width: 75%;
+ flex: 0 0 auto;
+ width: 75%;
}
.col-sm-10 {
- flex: 0 0 83.3333333333%;
- max-width: 83.3333333333%;
+ flex: 0 0 auto;
+ width: 83.3333333333%;
}
.col-sm-11 {
- flex: 0 0 91.6666666667%;
- max-width: 91.6666666667%;
+ flex: 0 0 auto;
+ width: 91.6666666667%;
}
.col-sm-12 {
- flex: 0 0 100%;
- max-width: 100%;
- }
-
- .order-sm-first {
- order: -1;
- }
-
- .order-sm-last {
- order: 13;
- }
-
- .order-sm-0 {
- order: 0;
- }
-
- .order-sm-1 {
- order: 1;
- }
-
- .order-sm-2 {
- order: 2;
- }
-
- .order-sm-3 {
- order: 3;
- }
-
- .order-sm-4 {
- order: 4;
- }
-
- .order-sm-5 {
- order: 5;
- }
-
- .order-sm-6 {
- order: 6;
- }
-
- .order-sm-7 {
- order: 7;
- }
-
- .order-sm-8 {
- order: 8;
- }
-
- .order-sm-9 {
- order: 9;
- }
-
- .order-sm-10 {
- order: 10;
- }
-
- .order-sm-11 {
- order: 11;
- }
-
- .order-sm-12 {
- order: 12;
+ flex: 0 0 auto;
+ width: 100%;
}
.offset-sm-0 {
@@ -1016,168 +1012,170 @@ pre code {
.offset-sm-11 {
margin-left: 91.6666666667%;
}
-}
-@media (min-width: 768px) {
- .col-md {
- flex-basis: 0;
- flex-grow: 1;
- max-width: 100%;
- }
-
- .row-cols-md-1 > * {
- flex: 0 0 100%;
- max-width: 100%;
- }
- .row-cols-md-2 > * {
- flex: 0 0 50%;
- max-width: 50%;
+ .g-sm-0,
+.gx-sm-0 {
+ --bs-gutter-x: 0;
}
- .row-cols-md-3 > * {
- flex: 0 0 33.3333333333%;
- max-width: 33.3333333333%;
+ .g-sm-0,
+.gy-sm-0 {
+ --bs-gutter-y: 0;
}
- .row-cols-md-4 > * {
- flex: 0 0 25%;
- max-width: 25%;
+ .g-sm-1,
+.gx-sm-1 {
+ --bs-gutter-x: 0.25rem;
}
- .row-cols-md-5 > * {
- flex: 0 0 20%;
- max-width: 20%;
+ .g-sm-1,
+.gy-sm-1 {
+ --bs-gutter-y: 0.25rem;
}
- .row-cols-md-6 > * {
- flex: 0 0 16.6666666667%;
- max-width: 16.6666666667%;
+ .g-sm-2,
+.gx-sm-2 {
+ --bs-gutter-x: 0.5rem;
}
- .col-md-auto {
- flex: 0 0 auto;
- width: auto;
- max-width: 100%;
+ .g-sm-2,
+.gy-sm-2 {
+ --bs-gutter-y: 0.5rem;
}
- .col-md-1 {
- flex: 0 0 8.3333333333%;
- max-width: 8.3333333333%;
+ .g-sm-3,
+.gx-sm-3 {
+ --bs-gutter-x: 1rem;
}
- .col-md-2 {
- flex: 0 0 16.6666666667%;
- max-width: 16.6666666667%;
+ .g-sm-3,
+.gy-sm-3 {
+ --bs-gutter-y: 1rem;
}
- .col-md-3 {
- flex: 0 0 25%;
- max-width: 25%;
+ .g-sm-4,
+.gx-sm-4 {
+ --bs-gutter-x: 1.5rem;
}
- .col-md-4 {
- flex: 0 0 33.3333333333%;
- max-width: 33.3333333333%;
+ .g-sm-4,
+.gy-sm-4 {
+ --bs-gutter-y: 1.5rem;
}
- .col-md-5 {
- flex: 0 0 41.6666666667%;
- max-width: 41.6666666667%;
+ .g-sm-5,
+.gx-sm-5 {
+ --bs-gutter-x: 3rem;
}
- .col-md-6 {
- flex: 0 0 50%;
- max-width: 50%;
+ .g-sm-5,
+.gy-sm-5 {
+ --bs-gutter-y: 3rem;
}
-
- .col-md-7 {
- flex: 0 0 58.3333333333%;
- max-width: 58.3333333333%;
+}
+@media (min-width: 768px) {
+ .col-md {
+ flex: 1 0 0%;
}
- .col-md-8 {
- flex: 0 0 66.6666666667%;
- max-width: 66.6666666667%;
+ .row-cols-md-auto > * {
+ flex: 0 0 auto;
+ width: auto;
}
- .col-md-9 {
- flex: 0 0 75%;
- max-width: 75%;
+ .row-cols-md-1 > * {
+ flex: 0 0 auto;
+ width: 100%;
}
- .col-md-10 {
- flex: 0 0 83.3333333333%;
- max-width: 83.3333333333%;
+ .row-cols-md-2 > * {
+ flex: 0 0 auto;
+ width: 50%;
}
- .col-md-11 {
- flex: 0 0 91.6666666667%;
- max-width: 91.6666666667%;
+ .row-cols-md-3 > * {
+ flex: 0 0 auto;
+ width: 33.3333333333%;
}
- .col-md-12 {
- flex: 0 0 100%;
- max-width: 100%;
+ .row-cols-md-4 > * {
+ flex: 0 0 auto;
+ width: 25%;
}
- .order-md-first {
- order: -1;
+ .row-cols-md-5 > * {
+ flex: 0 0 auto;
+ width: 20%;
}
- .order-md-last {
- order: 13;
+ .row-cols-md-6 > * {
+ flex: 0 0 auto;
+ width: 16.6666666667%;
}
- .order-md-0 {
- order: 0;
+ .col-md-auto {
+ flex: 0 0 auto;
+ width: auto;
}
- .order-md-1 {
- order: 1;
+ .col-md-1 {
+ flex: 0 0 auto;
+ width: 8.3333333333%;
}
- .order-md-2 {
- order: 2;
+ .col-md-2 {
+ flex: 0 0 auto;
+ width: 16.6666666667%;
}
- .order-md-3 {
- order: 3;
+ .col-md-3 {
+ flex: 0 0 auto;
+ width: 25%;
}
- .order-md-4 {
- order: 4;
+ .col-md-4 {
+ flex: 0 0 auto;
+ width: 33.3333333333%;
}
- .order-md-5 {
- order: 5;
+ .col-md-5 {
+ flex: 0 0 auto;
+ width: 41.6666666667%;
}
- .order-md-6 {
- order: 6;
+ .col-md-6 {
+ flex: 0 0 auto;
+ width: 50%;
}
- .order-md-7 {
- order: 7;
+ .col-md-7 {
+ flex: 0 0 auto;
+ width: 58.3333333333%;
}
- .order-md-8 {
- order: 8;
+ .col-md-8 {
+ flex: 0 0 auto;
+ width: 66.6666666667%;
}
- .order-md-9 {
- order: 9;
+ .col-md-9 {
+ flex: 0 0 auto;
+ width: 75%;
}
- .order-md-10 {
- order: 10;
+ .col-md-10 {
+ flex: 0 0 auto;
+ width: 83.3333333333%;
}
- .order-md-11 {
- order: 11;
+ .col-md-11 {
+ flex: 0 0 auto;
+ width: 91.6666666667%;
}
- .order-md-12 {
- order: 12;
+ .col-md-12 {
+ flex: 0 0 auto;
+ width: 100%;
}
.offset-md-0 {
@@ -1227,168 +1225,170 @@ pre code {
.offset-md-11 {
margin-left: 91.6666666667%;
}
-}
-@media (min-width: 992px) {
- .col-lg {
- flex-basis: 0;
- flex-grow: 1;
- max-width: 100%;
+
+ .g-md-0,
+.gx-md-0 {
+ --bs-gutter-x: 0;
}
- .row-cols-lg-1 > * {
- flex: 0 0 100%;
- max-width: 100%;
+ .g-md-0,
+.gy-md-0 {
+ --bs-gutter-y: 0;
}
- .row-cols-lg-2 > * {
- flex: 0 0 50%;
- max-width: 50%;
+ .g-md-1,
+.gx-md-1 {
+ --bs-gutter-x: 0.25rem;
}
- .row-cols-lg-3 > * {
- flex: 0 0 33.3333333333%;
- max-width: 33.3333333333%;
+ .g-md-1,
+.gy-md-1 {
+ --bs-gutter-y: 0.25rem;
}
- .row-cols-lg-4 > * {
- flex: 0 0 25%;
- max-width: 25%;
+ .g-md-2,
+.gx-md-2 {
+ --bs-gutter-x: 0.5rem;
}
- .row-cols-lg-5 > * {
- flex: 0 0 20%;
- max-width: 20%;
+ .g-md-2,
+.gy-md-2 {
+ --bs-gutter-y: 0.5rem;
}
- .row-cols-lg-6 > * {
- flex: 0 0 16.6666666667%;
- max-width: 16.6666666667%;
+ .g-md-3,
+.gx-md-3 {
+ --bs-gutter-x: 1rem;
}
- .col-lg-auto {
- flex: 0 0 auto;
- width: auto;
- max-width: 100%;
- }
-
- .col-lg-1 {
- flex: 0 0 8.3333333333%;
- max-width: 8.3333333333%;
+ .g-md-3,
+.gy-md-3 {
+ --bs-gutter-y: 1rem;
}
- .col-lg-2 {
- flex: 0 0 16.6666666667%;
- max-width: 16.6666666667%;
- }
-
- .col-lg-3 {
- flex: 0 0 25%;
- max-width: 25%;
+ .g-md-4,
+.gx-md-4 {
+ --bs-gutter-x: 1.5rem;
}
- .col-lg-4 {
- flex: 0 0 33.3333333333%;
- max-width: 33.3333333333%;
+ .g-md-4,
+.gy-md-4 {
+ --bs-gutter-y: 1.5rem;
}
- .col-lg-5 {
- flex: 0 0 41.6666666667%;
- max-width: 41.6666666667%;
+ .g-md-5,
+.gx-md-5 {
+ --bs-gutter-x: 3rem;
}
- .col-lg-6 {
- flex: 0 0 50%;
- max-width: 50%;
+ .g-md-5,
+.gy-md-5 {
+ --bs-gutter-y: 3rem;
}
-
- .col-lg-7 {
- flex: 0 0 58.3333333333%;
- max-width: 58.3333333333%;
+}
+@media (min-width: 992px) {
+ .col-lg {
+ flex: 1 0 0%;
}
- .col-lg-8 {
- flex: 0 0 66.6666666667%;
- max-width: 66.6666666667%;
+ .row-cols-lg-auto > * {
+ flex: 0 0 auto;
+ width: auto;
}
- .col-lg-9 {
- flex: 0 0 75%;
- max-width: 75%;
+ .row-cols-lg-1 > * {
+ flex: 0 0 auto;
+ width: 100%;
}
- .col-lg-10 {
- flex: 0 0 83.3333333333%;
- max-width: 83.3333333333%;
+ .row-cols-lg-2 > * {
+ flex: 0 0 auto;
+ width: 50%;
}
- .col-lg-11 {
- flex: 0 0 91.6666666667%;
- max-width: 91.6666666667%;
+ .row-cols-lg-3 > * {
+ flex: 0 0 auto;
+ width: 33.3333333333%;
}
- .col-lg-12 {
- flex: 0 0 100%;
- max-width: 100%;
+ .row-cols-lg-4 > * {
+ flex: 0 0 auto;
+ width: 25%;
}
- .order-lg-first {
- order: -1;
+ .row-cols-lg-5 > * {
+ flex: 0 0 auto;
+ width: 20%;
}
- .order-lg-last {
- order: 13;
+ .row-cols-lg-6 > * {
+ flex: 0 0 auto;
+ width: 16.6666666667%;
}
- .order-lg-0 {
- order: 0;
+ .col-lg-auto {
+ flex: 0 0 auto;
+ width: auto;
}
- .order-lg-1 {
- order: 1;
+ .col-lg-1 {
+ flex: 0 0 auto;
+ width: 8.3333333333%;
}
- .order-lg-2 {
- order: 2;
+ .col-lg-2 {
+ flex: 0 0 auto;
+ width: 16.6666666667%;
}
- .order-lg-3 {
- order: 3;
+ .col-lg-3 {
+ flex: 0 0 auto;
+ width: 25%;
}
- .order-lg-4 {
- order: 4;
+ .col-lg-4 {
+ flex: 0 0 auto;
+ width: 33.3333333333%;
}
- .order-lg-5 {
- order: 5;
+ .col-lg-5 {
+ flex: 0 0 auto;
+ width: 41.6666666667%;
}
- .order-lg-6 {
- order: 6;
+ .col-lg-6 {
+ flex: 0 0 auto;
+ width: 50%;
}
- .order-lg-7 {
- order: 7;
+ .col-lg-7 {
+ flex: 0 0 auto;
+ width: 58.3333333333%;
}
- .order-lg-8 {
- order: 8;
+ .col-lg-8 {
+ flex: 0 0 auto;
+ width: 66.6666666667%;
}
- .order-lg-9 {
- order: 9;
+ .col-lg-9 {
+ flex: 0 0 auto;
+ width: 75%;
}
- .order-lg-10 {
- order: 10;
+ .col-lg-10 {
+ flex: 0 0 auto;
+ width: 83.3333333333%;
}
- .order-lg-11 {
- order: 11;
+ .col-lg-11 {
+ flex: 0 0 auto;
+ width: 91.6666666667%;
}
- .order-lg-12 {
- order: 12;
+ .col-lg-12 {
+ flex: 0 0 auto;
+ width: 100%;
}
.offset-lg-0 {
@@ -1438,168 +1438,170 @@ pre code {
.offset-lg-11 {
margin-left: 91.6666666667%;
}
-}
-@media (min-width: 1200px) {
- .col-xl {
- flex-basis: 0;
- flex-grow: 1;
- max-width: 100%;
- }
-
- .row-cols-xl-1 > * {
- flex: 0 0 100%;
- max-width: 100%;
- }
- .row-cols-xl-2 > * {
- flex: 0 0 50%;
- max-width: 50%;
+ .g-lg-0,
+.gx-lg-0 {
+ --bs-gutter-x: 0;
}
- .row-cols-xl-3 > * {
- flex: 0 0 33.3333333333%;
- max-width: 33.3333333333%;
+ .g-lg-0,
+.gy-lg-0 {
+ --bs-gutter-y: 0;
}
- .row-cols-xl-4 > * {
- flex: 0 0 25%;
- max-width: 25%;
+ .g-lg-1,
+.gx-lg-1 {
+ --bs-gutter-x: 0.25rem;
}
- .row-cols-xl-5 > * {
- flex: 0 0 20%;
- max-width: 20%;
+ .g-lg-1,
+.gy-lg-1 {
+ --bs-gutter-y: 0.25rem;
}
- .row-cols-xl-6 > * {
- flex: 0 0 16.6666666667%;
- max-width: 16.6666666667%;
+ .g-lg-2,
+.gx-lg-2 {
+ --bs-gutter-x: 0.5rem;
}
- .col-xl-auto {
- flex: 0 0 auto;
- width: auto;
- max-width: 100%;
+ .g-lg-2,
+.gy-lg-2 {
+ --bs-gutter-y: 0.5rem;
}
- .col-xl-1 {
- flex: 0 0 8.3333333333%;
- max-width: 8.3333333333%;
+ .g-lg-3,
+.gx-lg-3 {
+ --bs-gutter-x: 1rem;
}
- .col-xl-2 {
- flex: 0 0 16.6666666667%;
- max-width: 16.6666666667%;
+ .g-lg-3,
+.gy-lg-3 {
+ --bs-gutter-y: 1rem;
}
- .col-xl-3 {
- flex: 0 0 25%;
- max-width: 25%;
+ .g-lg-4,
+.gx-lg-4 {
+ --bs-gutter-x: 1.5rem;
}
- .col-xl-4 {
- flex: 0 0 33.3333333333%;
- max-width: 33.3333333333%;
+ .g-lg-4,
+.gy-lg-4 {
+ --bs-gutter-y: 1.5rem;
}
- .col-xl-5 {
- flex: 0 0 41.6666666667%;
- max-width: 41.6666666667%;
+ .g-lg-5,
+.gx-lg-5 {
+ --bs-gutter-x: 3rem;
}
- .col-xl-6 {
- flex: 0 0 50%;
- max-width: 50%;
+ .g-lg-5,
+.gy-lg-5 {
+ --bs-gutter-y: 3rem;
}
-
- .col-xl-7 {
- flex: 0 0 58.3333333333%;
- max-width: 58.3333333333%;
+}
+@media (min-width: 1200px) {
+ .col-xl {
+ flex: 1 0 0%;
}
- .col-xl-8 {
- flex: 0 0 66.6666666667%;
- max-width: 66.6666666667%;
+ .row-cols-xl-auto > * {
+ flex: 0 0 auto;
+ width: auto;
}
- .col-xl-9 {
- flex: 0 0 75%;
- max-width: 75%;
+ .row-cols-xl-1 > * {
+ flex: 0 0 auto;
+ width: 100%;
}
- .col-xl-10 {
- flex: 0 0 83.3333333333%;
- max-width: 83.3333333333%;
+ .row-cols-xl-2 > * {
+ flex: 0 0 auto;
+ width: 50%;
}
- .col-xl-11 {
- flex: 0 0 91.6666666667%;
- max-width: 91.6666666667%;
+ .row-cols-xl-3 > * {
+ flex: 0 0 auto;
+ width: 33.3333333333%;
}
- .col-xl-12 {
- flex: 0 0 100%;
- max-width: 100%;
+ .row-cols-xl-4 > * {
+ flex: 0 0 auto;
+ width: 25%;
}
- .order-xl-first {
- order: -1;
+ .row-cols-xl-5 > * {
+ flex: 0 0 auto;
+ width: 20%;
}
- .order-xl-last {
- order: 13;
+ .row-cols-xl-6 > * {
+ flex: 0 0 auto;
+ width: 16.6666666667%;
}
- .order-xl-0 {
- order: 0;
+ .col-xl-auto {
+ flex: 0 0 auto;
+ width: auto;
}
- .order-xl-1 {
- order: 1;
+ .col-xl-1 {
+ flex: 0 0 auto;
+ width: 8.3333333333%;
}
- .order-xl-2 {
- order: 2;
+ .col-xl-2 {
+ flex: 0 0 auto;
+ width: 16.6666666667%;
}
- .order-xl-3 {
- order: 3;
+ .col-xl-3 {
+ flex: 0 0 auto;
+ width: 25%;
}
- .order-xl-4 {
- order: 4;
+ .col-xl-4 {
+ flex: 0 0 auto;
+ width: 33.3333333333%;
}
- .order-xl-5 {
- order: 5;
+ .col-xl-5 {
+ flex: 0 0 auto;
+ width: 41.6666666667%;
}
- .order-xl-6 {
- order: 6;
+ .col-xl-6 {
+ flex: 0 0 auto;
+ width: 50%;
}
- .order-xl-7 {
- order: 7;
+ .col-xl-7 {
+ flex: 0 0 auto;
+ width: 58.3333333333%;
}
- .order-xl-8 {
- order: 8;
+ .col-xl-8 {
+ flex: 0 0 auto;
+ width: 66.6666666667%;
}
- .order-xl-9 {
- order: 9;
+ .col-xl-9 {
+ flex: 0 0 auto;
+ width: 75%;
}
- .order-xl-10 {
- order: 10;
+ .col-xl-10 {
+ flex: 0 0 auto;
+ width: 83.3333333333%;
}
- .order-xl-11 {
- order: 11;
+ .col-xl-11 {
+ flex: 0 0 auto;
+ width: 91.6666666667%;
}
- .order-xl-12 {
- order: 12;
+ .col-xl-12 {
+ flex: 0 0 auto;
+ width: 100%;
}
.offset-xl-0 {
@@ -1649,330 +1651,300 @@ pre code {
.offset-xl-11 {
margin-left: 91.6666666667%;
}
-}
-.table {
- width: 100%;
- margin-bottom: 1rem;
- color: #212529;
-}
-.table th,
-.table td {
- padding: 0.75rem;
- vertical-align: top;
- border-top: 1px solid #dee2e6;
-}
-.table thead th {
- vertical-align: bottom;
- border-bottom: 2px solid #dee2e6;
-}
-.table tbody + tbody {
- border-top: 2px solid #dee2e6;
-}
-.table-sm th,
-.table-sm td {
- padding: 0.3rem;
-}
+ .g-xl-0,
+.gx-xl-0 {
+ --bs-gutter-x: 0;
+ }
-.table-bordered {
- border: 1px solid #dee2e6;
-}
-.table-bordered th,
-.table-bordered td {
- border: 1px solid #dee2e6;
-}
-.table-bordered thead th,
-.table-bordered thead td {
- border-bottom-width: 2px;
-}
+ .g-xl-0,
+.gy-xl-0 {
+ --bs-gutter-y: 0;
+ }
-.table-borderless th,
-.table-borderless td,
-.table-borderless thead th,
-.table-borderless tbody + tbody {
- border: 0;
-}
+ .g-xl-1,
+.gx-xl-1 {
+ --bs-gutter-x: 0.25rem;
+ }
-.table-striped tbody tr:nth-of-type(odd) {
- background-color: rgba(0, 0, 0, 0.05);
-}
+ .g-xl-1,
+.gy-xl-1 {
+ --bs-gutter-y: 0.25rem;
+ }
-.table-hover tbody tr:hover {
- color: #212529;
- background-color: rgba(0, 0, 0, 0.075);
-}
+ .g-xl-2,
+.gx-xl-2 {
+ --bs-gutter-x: 0.5rem;
+ }
-.table-primary,
-.table-primary > th,
-.table-primary > td {
- background-color: #b8d9f4;
-}
-.table-primary th,
-.table-primary td,
-.table-primary thead th,
-.table-primary tbody + tbody {
- border-color: #7ab9ea;
-}
+ .g-xl-2,
+.gy-xl-2 {
+ --bs-gutter-y: 0.5rem;
+ }
-.table-hover .table-primary:hover {
- background-color: #a2cdf1;
-}
-.table-hover .table-primary:hover > td,
-.table-hover .table-primary:hover > th {
- background-color: #a2cdf1;
-}
+ .g-xl-3,
+.gx-xl-3 {
+ --bs-gutter-x: 1rem;
+ }
-.table-secondary,
-.table-secondary > th,
-.table-secondary > td {
- background-color: #d6d8db;
-}
-.table-secondary th,
-.table-secondary td,
-.table-secondary thead th,
-.table-secondary tbody + tbody {
- border-color: #b3b7bb;
-}
+ .g-xl-3,
+.gy-xl-3 {
+ --bs-gutter-y: 1rem;
+ }
-.table-hover .table-secondary:hover {
- background-color: #c8cbcf;
-}
-.table-hover .table-secondary:hover > td,
-.table-hover .table-secondary:hover > th {
- background-color: #c8cbcf;
-}
+ .g-xl-4,
+.gx-xl-4 {
+ --bs-gutter-x: 1.5rem;
+ }
-.table-success,
-.table-success > th,
-.table-success > td {
- background-color: #e2f0b8;
-}
-.table-success th,
-.table-success td,
-.table-success thead th,
-.table-success tbody + tbody {
- border-color: #c9e27a;
-}
+ .g-xl-4,
+.gy-xl-4 {
+ --bs-gutter-y: 1.5rem;
+ }
-.table-hover .table-success:hover {
- background-color: #d9eca3;
-}
-.table-hover .table-success:hover > td,
-.table-hover .table-success:hover > th {
- background-color: #d9eca3;
-}
+ .g-xl-5,
+.gx-xl-5 {
+ --bs-gutter-x: 3rem;
+ }
-.table-info,
-.table-info > th,
-.table-info > td {
- background-color: #b8e2f6;
+ .g-xl-5,
+.gy-xl-5 {
+ --bs-gutter-y: 3rem;
+ }
}
-.table-info th,
-.table-info td,
-.table-info thead th,
-.table-info tbody + tbody {
- border-color: #7ac9ee;
+.table {
+ --bs-table-bg: transparent;
+ --bs-table-striped-color: #212529;
+ --bs-table-striped-bg: rgba(0, 0, 0, 0.05);
+ --bs-table-active-color: #212529;
+ --bs-table-active-bg: rgba(0, 0, 0, 0.1);
+ --bs-table-hover-color: #212529;
+ --bs-table-hover-bg: rgba(0, 0, 0, 0.075);
+ width: 100%;
+ margin-bottom: 1rem;
+ color: #212529;
+ vertical-align: top;
+ border-color: #dee2e6;
}
-
-.table-hover .table-info:hover {
- background-color: #a1d9f3;
+.table > :not(caption) > * > * {
+ padding: 0.5rem 0.5rem;
+ background-color: var(--bs-table-bg);
+ background-image: linear-gradient(var(--bs-table-accent-bg), var(--bs-table-accent-bg));
+ border-bottom-width: 1px;
}
-.table-hover .table-info:hover > td,
-.table-hover .table-info:hover > th {
- background-color: #a1d9f3;
+.table > tbody {
+ vertical-align: inherit;
}
-
-.table-warning,
-.table-warning > th,
-.table-warning > td {
- background-color: #ffedb8;
+.table > thead {
+ vertical-align: bottom;
}
-.table-warning th,
-.table-warning td,
-.table-warning thead th,
-.table-warning tbody + tbody {
- border-color: #ffde7a;
+.table > :not(:last-child) > :last-child > * {
+ border-bottom-color: currentColor;
}
-.table-hover .table-warning:hover {
- background-color: #ffe79f;
-}
-.table-hover .table-warning:hover > td,
-.table-hover .table-warning:hover > th {
- background-color: #ffe79f;
+.caption-top {
+ caption-side: top;
}
-.table-danger,
-.table-danger > th,
-.table-danger > td {
- background-color: #f8cabe;
-}
-.table-danger th,
-.table-danger td,
-.table-danger thead th,
-.table-danger tbody + tbody {
- border-color: #f39c87;
+.table-sm > :not(caption) > * > * {
+ padding: 0.25rem 0.25rem;
}
-.table-hover .table-danger:hover {
- background-color: #f6b7a7;
+.table-bordered > :not(caption) > * {
+ border-width: 1px 0;
}
-.table-hover .table-danger:hover > td,
-.table-hover .table-danger:hover > th {
- background-color: #f6b7a7;
+.table-bordered > :not(caption) > * > * {
+ border-width: 0 1px;
}
-.table-light,
-.table-light > th,
-.table-light > td {
- background-color: #fdfdfe;
-}
-.table-light th,
-.table-light td,
-.table-light thead th,
-.table-light tbody + tbody {
- border-color: #fbfcfc;
+.table-borderless > :not(caption) > * > * {
+ border-bottom-width: 0;
}
-.table-hover .table-light:hover {
- background-color: #ececf6;
-}
-.table-hover .table-light:hover > td,
-.table-hover .table-light:hover > th {
- background-color: #ececf6;
+.table-striped > tbody > tr:nth-of-type(odd) {
+ --bs-table-accent-bg: var(--bs-table-striped-bg);
+ color: var(--bs-table-striped-color);
}
-.table-dark,
-.table-dark > th,
-.table-dark > td {
- background-color: #c6c8ca;
+.table-active {
+ --bs-table-accent-bg: var(--bs-table-active-bg);
+ color: var(--bs-table-active-color);
}
-.table-dark th,
-.table-dark td,
-.table-dark thead th,
-.table-dark tbody + tbody {
- border-color: #95999c;
+
+.table-hover > tbody > tr:hover {
+ --bs-table-accent-bg: var(--bs-table-hover-bg);
+ color: var(--bs-table-hover-color);
}
-.table-hover .table-dark:hover {
- background-color: #b9bbbe;
+.table-primary {
+ --bs-table-bg: #ccdff3;
+ --bs-table-striped-bg: #c2d4e7;
+ --bs-table-striped-color: #000;
+ --bs-table-active-bg: #b8c9db;
+ --bs-table-active-color: #000;
+ --bs-table-hover-bg: #bdcee1;
+ --bs-table-hover-color: #000;
+ color: #000;
+ border-color: #b8c9db;
}
-.table-hover .table-dark:hover > td,
-.table-hover .table-dark:hover > th {
- background-color: #b9bbbe;
+
+.table-secondary {
+ --bs-table-bg: #e2e3e5;
+ --bs-table-striped-bg: #d7d8da;
+ --bs-table-striped-color: #000;
+ --bs-table-active-bg: #cbccce;
+ --bs-table-active-color: #000;
+ --bs-table-hover-bg: #d1d2d4;
+ --bs-table-hover-color: #000;
+ color: #000;
+ border-color: #cbccce;
}
-.table-active,
-.table-active > th,
-.table-active > td {
- background-color: rgba(0, 0, 0, 0.075);
+.table-success {
+ --bs-table-bg: #eaf4cc;
+ --bs-table-striped-bg: #dee8c2;
+ --bs-table-striped-color: #000;
+ --bs-table-active-bg: #d3dcb8;
+ --bs-table-active-color: #000;
+ --bs-table-hover-bg: #d8e2bd;
+ --bs-table-hover-color: #000;
+ color: #000;
+ border-color: #d3dcb8;
}
-.table-hover .table-active:hover {
- background-color: rgba(0, 0, 0, 0.075);
+.table-info {
+ --bs-table-bg: #cceaf9;
+ --bs-table-striped-bg: #c2deed;
+ --bs-table-striped-color: #000;
+ --bs-table-active-bg: #b8d3e0;
+ --bs-table-active-color: #000;
+ --bs-table-hover-bg: #bdd8e6;
+ --bs-table-hover-color: #000;
+ color: #000;
+ border-color: #b8d3e0;
}
-.table-hover .table-active:hover > td,
-.table-hover .table-active:hover > th {
- background-color: rgba(0, 0, 0, 0.075);
+
+.table-warning {
+ --bs-table-bg: #fff2cc;
+ --bs-table-striped-bg: #f2e6c2;
+ --bs-table-striped-color: #000;
+ --bs-table-active-bg: #e6dab8;
+ --bs-table-active-color: #000;
+ --bs-table-hover-bg: #ece0bd;
+ --bs-table-hover-color: #000;
+ color: #000;
+ border-color: #e6dab8;
}
-.table .thead-dark th {
- color: #fff;
- background-color: #343a40;
- border-color: #454d55;
+.table-danger {
+ --bs-table-bg: #fad9d1;
+ --bs-table-striped-bg: #eecec7;
+ --bs-table-striped-color: #000;
+ --bs-table-active-bg: #e1c3bc;
+ --bs-table-active-color: #000;
+ --bs-table-hover-bg: #e7c9c1;
+ --bs-table-hover-color: #000;
+ color: #000;
+ border-color: #e1c3bc;
}
-.table .thead-light th {
- color: #495057;
- background-color: #e9ecef;
- border-color: #dee2e6;
+
+.table-light {
+ --bs-table-bg: #f8f9fa;
+ --bs-table-striped-bg: #ecedee;
+ --bs-table-striped-color: #000;
+ --bs-table-active-bg: #dfe0e1;
+ --bs-table-active-color: #000;
+ --bs-table-hover-bg: #e5e6e7;
+ --bs-table-hover-color: #000;
+ color: #000;
+ border-color: #dfe0e1;
}
.table-dark {
+ --bs-table-bg: #212529;
+ --bs-table-striped-bg: #2c3034;
+ --bs-table-striped-color: #fff;
+ --bs-table-active-bg: #373b3e;
+ --bs-table-active-color: #fff;
+ --bs-table-hover-bg: #323539;
+ --bs-table-hover-color: #fff;
color: #fff;
- background-color: #343a40;
-}
-.table-dark th,
-.table-dark td,
-.table-dark thead th {
- border-color: #454d55;
-}
-.table-dark.table-bordered {
- border: 0;
+ border-color: #373b3e;
}
-.table-dark.table-striped tbody tr:nth-of-type(odd) {
- background-color: rgba(255, 255, 255, 0.05);
-}
-.table-dark.table-hover tbody tr:hover {
- color: #fff;
- background-color: rgba(255, 255, 255, 0.075);
+
+.table-responsive {
+ overflow-x: auto;
+ -webkit-overflow-scrolling: touch;
}
@media (max-width: 575.98px) {
.table-responsive-sm {
- display: block;
- width: 100%;
overflow-x: auto;
-webkit-overflow-scrolling: touch;
}
- .table-responsive-sm > .table-bordered {
- border: 0;
- }
}
@media (max-width: 767.98px) {
.table-responsive-md {
- display: block;
- width: 100%;
overflow-x: auto;
-webkit-overflow-scrolling: touch;
}
- .table-responsive-md > .table-bordered {
- border: 0;
- }
}
@media (max-width: 991.98px) {
.table-responsive-lg {
- display: block;
- width: 100%;
overflow-x: auto;
-webkit-overflow-scrolling: touch;
}
- .table-responsive-lg > .table-bordered {
- border: 0;
- }
}
@media (max-width: 1199.98px) {
.table-responsive-xl {
- display: block;
- width: 100%;
overflow-x: auto;
-webkit-overflow-scrolling: touch;
}
- .table-responsive-xl > .table-bordered {
- border: 0;
- }
}
-.table-responsive {
- display: block;
- width: 100%;
- overflow-x: auto;
- -webkit-overflow-scrolling: touch;
+.form-label {
+ margin-bottom: 0.5rem;
}
-.table-responsive > .table-bordered {
- border: 0;
+
+.col-form-label {
+ padding-top: calc(0.375rem + 1px);
+ padding-bottom: calc(0.375rem + 1px);
+ margin-bottom: 0;
+ font-size: inherit;
+ line-height: 1.6;
+}
+
+.col-form-label-lg {
+ padding-top: calc(0.5rem + 1px);
+ padding-bottom: calc(0.5rem + 1px);
+ font-size: 1.25rem;
+}
+
+.col-form-label-sm {
+ padding-top: calc(0.25rem + 1px);
+ padding-bottom: calc(0.25rem + 1px);
+ font-size: 0.875rem;
+}
+
+.form-text {
+ margin-top: 0.25rem;
+ font-size: 0.875em;
+ color: #6c757d;
}
.form-control {
display: block;
width: 100%;
- height: calc(1.6em + 0.75rem + 2px);
padding: 0.375rem 0.75rem;
font-size: 1rem;
font-weight: 400;
line-height: 1.6;
- color: #495057;
+ color: #212529;
background-color: #fff;
background-clip: padding-box;
border: 1px solid #ced4da;
+ -webkit-appearance: none;
+ -moz-appearance: none;
+ appearance: none;
border-radius: 0.25rem;
transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
@@ -1981,21 +1953,22 @@ pre code {
transition: none;
}
}
-.form-control::-ms-expand {
- background-color: transparent;
- border: 0;
+.form-control[type=file] {
+ overflow: hidden;
}
-.form-control:-moz-focusring {
- color: transparent;
- text-shadow: 0 0 0 #495057;
+.form-control[type=file]:not(:disabled):not([readonly]) {
+ cursor: pointer;
}
.form-control:focus {
- color: #495057;
+ color: #212529;
background-color: #fff;
- border-color: #58b5ff;
+ border-color: #80aee2;
outline: 0;
box-shadow: none;
}
+.form-control::-webkit-date-and-time-value {
+ height: 1.6em;
+}
.form-control::-moz-placeholder {
color: #6c757d;
opacity: 1;
@@ -2012,47 +1985,53 @@ pre code {
background-color: #e9ecef;
opacity: 1;
}
-
-input[type=date].form-control,
-input[type=time].form-control,
-input[type=datetime-local].form-control,
-input[type=month].form-control {
- -webkit-appearance: none;
- -moz-appearance: none;
- appearance: none;
+.form-control::file-selector-button {
+ padding: 0.375rem 0.75rem;
+ margin: -0.375rem -0.75rem;
+ -webkit-margin-end: 0.75rem;
+ margin-inline-end: 0.75rem;
+ color: #212529;
+ background-color: #e9ecef;
+ pointer-events: none;
+ border-color: inherit;
+ border-style: solid;
+ border-width: 0;
+ border-inline-end-width: 1px;
+ border-radius: 0;
+ transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
-
-select.form-control:focus::-ms-value {
- color: #495057;
- background-color: #fff;
+@media (prefers-reduced-motion: reduce) {
+ .form-control::file-selector-button {
+ transition: none;
+ }
}
-
-.form-control-file,
-.form-control-range {
- display: block;
- width: 100%;
+.form-control:hover:not(:disabled):not([readonly])::file-selector-button {
+ background-color: #dde0e3;
}
-
-.col-form-label {
- padding-top: calc(0.375rem + 1px);
- padding-bottom: calc(0.375rem + 1px);
- margin-bottom: 0;
- font-size: inherit;
- line-height: 1.6;
+.form-control::-webkit-file-upload-button {
+ padding: 0.375rem 0.75rem;
+ margin: -0.375rem -0.75rem;
+ -webkit-margin-end: 0.75rem;
+ margin-inline-end: 0.75rem;
+ color: #212529;
+ background-color: #e9ecef;
+ pointer-events: none;
+ border-color: inherit;
+ border-style: solid;
+ border-width: 0;
+ border-inline-end-width: 1px;
+ border-radius: 0;
+ -webkit-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
+ transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
-
-.col-form-label-lg {
- padding-top: calc(0.5rem + 1px);
- padding-bottom: calc(0.5rem + 1px);
- font-size: 1.25rem;
- line-height: 1.5;
+@media (prefers-reduced-motion: reduce) {
+ .form-control::-webkit-file-upload-button {
+ -webkit-transition: none;
+ transition: none;
+ }
}
-
-.col-form-label-sm {
- padding-top: calc(0.25rem + 1px);
- padding-bottom: calc(0.25rem + 1px);
- font-size: 0.875rem;
- line-height: 1.5;
+.form-control:hover:not(:disabled):not([readonly])::-webkit-file-upload-button {
+ background-color: #dde0e3;
}
.form-control-plaintext {
@@ -2060,7 +2039,6 @@ select.form-control:focus::-ms-value {
width: 100%;
padding: 0.375rem 0;
margin-bottom: 0;
- font-size: 1rem;
line-height: 1.6;
color: #212529;
background-color: transparent;
@@ -2073,755 +2051,1046 @@ select.form-control:focus::-ms-value {
}
.form-control-sm {
- height: calc(1.5em + 0.5rem + 2px);
+ min-height: calc(1.6em + 0.5rem + 2px);
padding: 0.25rem 0.5rem;
font-size: 0.875rem;
- line-height: 1.5;
border-radius: 0.2rem;
}
+.form-control-sm::file-selector-button {
+ padding: 0.25rem 0.5rem;
+ margin: -0.25rem -0.5rem;
+ -webkit-margin-end: 0.5rem;
+ margin-inline-end: 0.5rem;
+}
+.form-control-sm::-webkit-file-upload-button {
+ padding: 0.25rem 0.5rem;
+ margin: -0.25rem -0.5rem;
+ -webkit-margin-end: 0.5rem;
+ margin-inline-end: 0.5rem;
+}
.form-control-lg {
- height: calc(1.5em + 1rem + 2px);
+ min-height: calc(1.6em + 1rem + 2px);
padding: 0.5rem 1rem;
font-size: 1.25rem;
- line-height: 1.5;
border-radius: 0.3rem;
}
-
-select.form-control[size], select.form-control[multiple] {
- height: auto;
+.form-control-lg::file-selector-button {
+ padding: 0.5rem 1rem;
+ margin: -0.5rem -1rem;
+ -webkit-margin-end: 1rem;
+ margin-inline-end: 1rem;
+}
+.form-control-lg::-webkit-file-upload-button {
+ padding: 0.5rem 1rem;
+ margin: -0.5rem -1rem;
+ -webkit-margin-end: 1rem;
+ margin-inline-end: 1rem;
}
textarea.form-control {
- height: auto;
+ min-height: calc(1.6em + 0.75rem + 2px);
}
-
-.form-group {
- margin-bottom: 1rem;
+textarea.form-control-sm {
+ min-height: calc(1.6em + 0.5rem + 2px);
}
-
-.form-text {
- display: block;
- margin-top: 0.25rem;
+textarea.form-control-lg {
+ min-height: calc(1.6em + 1rem + 2px);
}
-.form-row {
- display: flex;
- flex-wrap: wrap;
- margin-right: -5px;
- margin-left: -5px;
+.form-control-color {
+ max-width: 3rem;
+ height: auto;
+ padding: 0.375rem;
}
-.form-row > .col,
-.form-row > [class*=col-] {
- padding-right: 5px;
- padding-left: 5px;
+.form-control-color:not(:disabled):not([readonly]) {
+ cursor: pointer;
}
-
-.form-check {
- position: relative;
- display: block;
- padding-left: 1.25rem;
+.form-control-color::-moz-color-swatch {
+ height: 1.6em;
+ border-radius: 0.25rem;
+}
+.form-control-color::-webkit-color-swatch {
+ height: 1.6em;
+ border-radius: 0.25rem;
}
-.form-check-input {
- position: absolute;
- margin-top: 0.3rem;
- margin-left: -1.25rem;
+.form-select {
+ display: block;
+ width: 100%;
+ padding: 0.375rem 1.75rem 0.375rem 0.75rem;
+ font-size: 1rem;
+ font-weight: 400;
+ line-height: 1.6;
+ color: #212529;
+ vertical-align: middle;
+ background-color: #fff;
+ background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e");
+ background-repeat: no-repeat;
+ background-position: right 0.75rem center;
+ background-size: 16px 12px;
+ border: 1px solid #ced4da;
+ border-radius: 0.25rem;
+ -webkit-appearance: none;
+ -moz-appearance: none;
+ appearance: none;
}
-.form-check-input[disabled] ~ .form-check-label, .form-check-input:disabled ~ .form-check-label {
- color: #6c757d;
+.form-select:focus {
+ border-color: #80aee2;
+ outline: 0;
+ box-shadow: 0 0 0 0.25rem rgba(0, 93, 197, 0.25);
}
-
-.form-check-label {
- margin-bottom: 0;
+.form-select[multiple], .form-select[size]:not([size="1"]) {
+ padding-right: 0.75rem;
+ background-image: none;
}
-
-.form-check-inline {
- display: inline-flex;
- align-items: center;
- padding-left: 0;
- margin-right: 0.75rem;
+.form-select:disabled {
+ color: #6c757d;
+ background-color: #e9ecef;
}
-.form-check-inline .form-check-input {
- position: static;
- margin-top: 0;
- margin-right: 0.3125rem;
- margin-left: 0;
+.form-select:-moz-focusring {
+ color: transparent;
+ text-shadow: 0 0 0 #212529;
}
-.valid-feedback {
- display: none;
- width: 100%;
- margin-top: 0.25rem;
- font-size: 80%;
- color: #97c800;
+.form-select-sm {
+ padding-top: 0.25rem;
+ padding-bottom: 0.25rem;
+ padding-left: 0.5rem;
+ font-size: 0.875rem;
}
-.valid-tooltip {
- position: absolute;
- top: 100%;
- left: 0;
- z-index: 5;
- display: none;
- max-width: 100%;
- padding: 0.25rem 0.5rem;
- margin-top: 0.1rem;
- font-size: 0.875rem;
- line-height: 1.6;
- color: #212529;
- background-color: rgba(151, 200, 0, 0.9);
- border-radius: 0.25rem;
+.form-select-lg {
+ padding-top: 0.5rem;
+ padding-bottom: 0.5rem;
+ padding-left: 1rem;
+ font-size: 1.25rem;
}
-.was-validated :valid ~ .valid-feedback,
-.was-validated :valid ~ .valid-tooltip,
-.is-valid ~ .valid-feedback,
-.is-valid ~ .valid-tooltip {
+.form-check {
display: block;
+ min-height: 1.6rem;
+ padding-left: 1.5em;
+ margin-bottom: 0.125rem;
+}
+.form-check .form-check-input {
+ float: left;
+ margin-left: -1.5em;
}
-.was-validated .form-control:valid, .form-control.is-valid {
- border-color: #97c800;
- padding-right: calc(1.6em + 0.75rem);
- background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2397c800' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");
+.form-check-input {
+ width: 1em;
+ height: 1em;
+ margin-top: 0.3em;
+ vertical-align: top;
+ background-color: #fff;
background-repeat: no-repeat;
- background-position: right calc(0.4em + 0.1875rem) center;
- background-size: calc(0.8em + 0.375rem) calc(0.8em + 0.375rem);
+ background-position: center;
+ background-size: contain;
+ border: 1px solid rgba(0, 0, 0, 0.25);
+ -webkit-appearance: none;
+ -moz-appearance: none;
+ appearance: none;
+ -webkit-print-color-adjust: exact;
+ color-adjust: exact;
+ transition: background-color 0.15s ease-in-out, background-position 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
-.was-validated .form-control:valid:focus, .form-control.is-valid:focus {
- border-color: #97c800;
- box-shadow: 0 0 0 0.2rem rgba(151, 200, 0, 0.25);
+@media (prefers-reduced-motion: reduce) {
+ .form-check-input {
+ transition: none;
+ }
}
-
-.was-validated textarea.form-control:valid, textarea.form-control.is-valid {
- padding-right: calc(1.6em + 0.75rem);
- background-position: top calc(0.4em + 0.1875rem) right calc(0.4em + 0.1875rem);
+.form-check-input[type=checkbox] {
+ border-radius: 0.25em;
}
-
-.was-validated .custom-select:valid, .custom-select.is-valid {
- border-color: #97c800;
- padding-right: calc(0.75em + 2.3125rem);
- background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right 0.75rem center/8px 10px, url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2397c800' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e") #fff no-repeat center right 1.75rem/calc(0.8em + 0.375rem) calc(0.8em + 0.375rem);
+.form-check-input[type=radio] {
+ border-radius: 50%;
}
-.was-validated .custom-select:valid:focus, .custom-select.is-valid:focus {
- border-color: #97c800;
- box-shadow: 0 0 0 0.2rem rgba(151, 200, 0, 0.25);
+.form-check-input:active {
+ filter: brightness(90%);
}
-
-.was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label {
- color: #97c800;
+.form-check-input:focus {
+ border-color: #80aee2;
+ outline: 0;
+ box-shadow: 0 0 0 0.25rem rgba(0, 93, 197, 0.25);
}
-.was-validated .form-check-input:valid ~ .valid-feedback,
-.was-validated .form-check-input:valid ~ .valid-tooltip, .form-check-input.is-valid ~ .valid-feedback,
-.form-check-input.is-valid ~ .valid-tooltip {
- display: block;
+.form-check-input:checked {
+ background-color: #005dc5;
+ border-color: #005dc5;
}
-
-.was-validated .custom-control-input:valid ~ .custom-control-label, .custom-control-input.is-valid ~ .custom-control-label {
- color: #97c800;
+.form-check-input:checked[type=checkbox] {
+ background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10l3 3l6-6'/%3e%3c/svg%3e");
}
-.was-validated .custom-control-input:valid ~ .custom-control-label::before, .custom-control-input.is-valid ~ .custom-control-label::before {
- border-color: #97c800;
+.form-check-input:checked[type=radio] {
+ background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e");
}
-.was-validated .custom-control-input:valid:checked ~ .custom-control-label::before, .custom-control-input.is-valid:checked ~ .custom-control-label::before {
- border-color: #befb00;
- background-color: #befb00;
+.form-check-input[type=checkbox]:indeterminate {
+ background-color: #005dc5;
+ border-color: #005dc5;
+ background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e");
}
-.was-validated .custom-control-input:valid:focus ~ .custom-control-label::before, .custom-control-input.is-valid:focus ~ .custom-control-label::before {
- box-shadow: 0 0 0 0.2rem rgba(151, 200, 0, 0.25);
+.form-check-input:disabled {
+ pointer-events: none;
+ filter: none;
+ opacity: 0.5;
}
-.was-validated .custom-control-input:valid:focus:not(:checked) ~ .custom-control-label::before, .custom-control-input.is-valid:focus:not(:checked) ~ .custom-control-label::before {
- border-color: #97c800;
+.form-check-input[disabled] ~ .form-check-label, .form-check-input:disabled ~ .form-check-label {
+ opacity: 0.5;
}
-.was-validated .custom-file-input:valid ~ .custom-file-label, .custom-file-input.is-valid ~ .custom-file-label {
- border-color: #97c800;
+.form-switch {
+ padding-left: 2.5em;
}
-.was-validated .custom-file-input:valid:focus ~ .custom-file-label, .custom-file-input.is-valid:focus ~ .custom-file-label {
- border-color: #97c800;
- box-shadow: 0 0 0 0.2rem rgba(151, 200, 0, 0.25);
+.form-switch .form-check-input {
+ width: 2em;
+ margin-left: -2.5em;
+ background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280, 0, 0, 0.25%29'/%3e%3c/svg%3e");
+ background-position: left center;
+ border-radius: 2em;
+}
+.form-switch .form-check-input:focus {
+ background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2380aee2'/%3e%3c/svg%3e");
+}
+.form-switch .form-check-input:checked {
+ background-position: right center;
+ background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e");
}
-.invalid-feedback {
- display: none;
- width: 100%;
- margin-top: 0.25rem;
- font-size: 80%;
- color: #e74018;
+.form-check-inline {
+ display: inline-block;
+ margin-right: 1rem;
}
-.invalid-tooltip {
+.btn-check {
position: absolute;
- top: 100%;
- left: 0;
- z-index: 5;
- display: none;
- max-width: 100%;
- padding: 0.25rem 0.5rem;
- margin-top: 0.1rem;
- font-size: 0.875rem;
- line-height: 1.6;
- color: #fff;
- background-color: rgba(231, 64, 24, 0.9);
- border-radius: 0.25rem;
+ clip: rect(0, 0, 0, 0);
+ pointer-events: none;
}
-
-.was-validated :invalid ~ .invalid-feedback,
-.was-validated :invalid ~ .invalid-tooltip,
-.is-invalid ~ .invalid-feedback,
-.is-invalid ~ .invalid-tooltip {
- display: block;
+.btn-check[disabled] + .btn, .btn-check:disabled + .btn {
+ pointer-events: none;
+ filter: none;
+ opacity: 0.65;
}
-.was-validated .form-control:invalid, .form-control.is-invalid {
- border-color: #e74018;
- padding-right: calc(1.6em + 0.75rem);
- background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23e74018' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23e74018' stroke='none'/%3e%3c/svg%3e");
- background-repeat: no-repeat;
- background-position: right calc(0.4em + 0.1875rem) center;
- background-size: calc(0.8em + 0.375rem) calc(0.8em + 0.375rem);
-}
-.was-validated .form-control:invalid:focus, .form-control.is-invalid:focus {
- border-color: #e74018;
- box-shadow: 0 0 0 0.2rem rgba(231, 64, 24, 0.25);
+.form-range {
+ width: 100%;
+ height: 1.5rem;
+ padding: 0;
+ background-color: transparent;
+ -webkit-appearance: none;
+ -moz-appearance: none;
+ appearance: none;
}
-
-.was-validated textarea.form-control:invalid, textarea.form-control.is-invalid {
- padding-right: calc(1.6em + 0.75rem);
- background-position: top calc(0.4em + 0.1875rem) right calc(0.4em + 0.1875rem);
+.form-range:focus {
+ outline: none;
}
-
-.was-validated .custom-select:invalid, .custom-select.is-invalid {
- border-color: #e74018;
- padding-right: calc(0.75em + 2.3125rem);
- background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right 0.75rem center/8px 10px, url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23e74018' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23e74018' stroke='none'/%3e%3c/svg%3e") #fff no-repeat center right 1.75rem/calc(0.8em + 0.375rem) calc(0.8em + 0.375rem);
+.form-range:focus::-webkit-slider-thumb {
+ box-shadow: 0 0 0 1px #fff, none;
}
-.was-validated .custom-select:invalid:focus, .custom-select.is-invalid:focus {
- border-color: #e74018;
- box-shadow: 0 0 0 0.2rem rgba(231, 64, 24, 0.25);
+.form-range:focus::-moz-range-thumb {
+ box-shadow: 0 0 0 1px #fff, none;
}
-
-.was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label {
- color: #e74018;
+.form-range::-moz-focus-outer {
+ border: 0;
}
-.was-validated .form-check-input:invalid ~ .invalid-feedback,
-.was-validated .form-check-input:invalid ~ .invalid-tooltip, .form-check-input.is-invalid ~ .invalid-feedback,
-.form-check-input.is-invalid ~ .invalid-tooltip {
- display: block;
+.form-range::-webkit-slider-thumb {
+ width: 1rem;
+ height: 1rem;
+ margin-top: -0.25rem;
+ background-color: #005dc5;
+ border: 0;
+ border-radius: 1rem;
+ -webkit-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
+ transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
+ -webkit-appearance: none;
+ appearance: none;
}
-
-.was-validated .custom-control-input:invalid ~ .custom-control-label, .custom-control-input.is-invalid ~ .custom-control-label {
- color: #e74018;
+@media (prefers-reduced-motion: reduce) {
+ .form-range::-webkit-slider-thumb {
+ -webkit-transition: none;
+ transition: none;
+ }
}
-.was-validated .custom-control-input:invalid ~ .custom-control-label::before, .custom-control-input.is-invalid ~ .custom-control-label::before {
- border-color: #e74018;
+.form-range::-webkit-slider-thumb:active {
+ background-color: #b3ceee;
}
-.was-validated .custom-control-input:invalid:checked ~ .custom-control-label::before, .custom-control-input.is-invalid:checked ~ .custom-control-label::before {
- border-color: #ec6646;
- background-color: #ec6646;
+.form-range::-webkit-slider-runnable-track {
+ width: 100%;
+ height: 0.5rem;
+ color: transparent;
+ cursor: pointer;
+ background-color: #dee2e6;
+ border-color: transparent;
+ border-radius: 1rem;
}
-.was-validated .custom-control-input:invalid:focus ~ .custom-control-label::before, .custom-control-input.is-invalid:focus ~ .custom-control-label::before {
- box-shadow: 0 0 0 0.2rem rgba(231, 64, 24, 0.25);
+.form-range::-moz-range-thumb {
+ width: 1rem;
+ height: 1rem;
+ background-color: #005dc5;
+ border: 0;
+ border-radius: 1rem;
+ -moz-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
+ transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
+ -moz-appearance: none;
+ appearance: none;
}
-.was-validated .custom-control-input:invalid:focus:not(:checked) ~ .custom-control-label::before, .custom-control-input.is-invalid:focus:not(:checked) ~ .custom-control-label::before {
- border-color: #e74018;
+@media (prefers-reduced-motion: reduce) {
+ .form-range::-moz-range-thumb {
+ -moz-transition: none;
+ transition: none;
+ }
}
-
-.was-validated .custom-file-input:invalid ~ .custom-file-label, .custom-file-input.is-invalid ~ .custom-file-label {
- border-color: #e74018;
+.form-range::-moz-range-thumb:active {
+ background-color: #b3ceee;
}
-.was-validated .custom-file-input:invalid:focus ~ .custom-file-label, .custom-file-input.is-invalid:focus ~ .custom-file-label {
- border-color: #e74018;
- box-shadow: 0 0 0 0.2rem rgba(231, 64, 24, 0.25);
+.form-range::-moz-range-track {
+ width: 100%;
+ height: 0.5rem;
+ color: transparent;
+ cursor: pointer;
+ background-color: #dee2e6;
+ border-color: transparent;
+ border-radius: 1rem;
}
-
-.form-inline {
- display: flex;
- flex-flow: row wrap;
- align-items: center;
+.form-range:disabled {
+ pointer-events: none;
}
-.form-inline .form-check {
- width: 100%;
+.form-range:disabled::-webkit-slider-thumb {
+ background-color: #adb5bd;
}
-@media (min-width: 576px) {
- .form-inline label {
- display: flex;
- align-items: center;
- justify-content: center;
- margin-bottom: 0;
- }
- .form-inline .form-group {
- display: flex;
- flex: 0 0 auto;
- flex-flow: row wrap;
- align-items: center;
- margin-bottom: 0;
- }
- .form-inline .form-control {
- display: inline-block;
- width: auto;
- vertical-align: middle;
- }
- .form-inline .form-control-plaintext {
- display: inline-block;
- }
- .form-inline .input-group,
-.form-inline .custom-select {
- width: auto;
- }
- .form-inline .form-check {
- display: flex;
- align-items: center;
- justify-content: center;
- width: auto;
- padding-left: 0;
- }
- .form-inline .form-check-input {
- position: relative;
- flex-shrink: 0;
- margin-top: 0;
- margin-right: 0.25rem;
- margin-left: 0;
- }
- .form-inline .custom-control {
- align-items: center;
- justify-content: center;
- }
- .form-inline .custom-control-label {
- margin-bottom: 0;
- }
+.form-range:disabled::-moz-range-thumb {
+ background-color: #adb5bd;
}
-.btn {
- display: inline-block;
- font-weight: 400;
- color: #212529;
- text-align: center;
- vertical-align: middle;
- -webkit-user-select: none;
- -moz-user-select: none;
- -ms-user-select: none;
- user-select: none;
- background-color: transparent;
+.form-floating {
+ position: relative;
+}
+.form-floating > .form-control,
+.form-floating > .form-select {
+ height: calc(3.5rem + 2px);
+ padding: 1rem 0.75rem;
+}
+.form-floating > label {
+ position: absolute;
+ top: 0;
+ left: 0;
+ height: 100%;
+ padding: 1rem 0.75rem;
+ pointer-events: none;
border: 1px solid transparent;
- padding: 0.375rem 0.75rem;
- font-size: 1rem;
- line-height: 1.6;
- border-radius: 0.25rem;
- transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
+ transform-origin: 0 0;
+ transition: opacity 0.1s ease-in-out, transform 0.1s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
- .btn {
+ .form-floating > label {
transition: none;
}
}
-.btn:hover {
- color: #212529;
- text-decoration: none;
+.form-floating > .form-control::-moz-placeholder {
+ color: transparent;
}
-.btn:focus, .btn.focus {
- outline: 0;
- box-shadow: none !important;
+.form-floating > .form-control:-ms-input-placeholder {
+ color: transparent;
}
-.btn.disabled, .btn:disabled {
- opacity: 0.65;
+.form-floating > .form-control::placeholder {
+ color: transparent;
}
-.btn:not(:disabled):not(.disabled) {
- cursor: pointer;
+.form-floating > .form-control:not(:-moz-placeholder-shown) {
+ padding-top: 1.625rem;
+ padding-bottom: 0.625rem;
}
-a.btn.disabled,
-fieldset:disabled a.btn {
- pointer-events: none;
+.form-floating > .form-control:not(:-ms-input-placeholder) {
+ padding-top: 1.625rem;
+ padding-bottom: 0.625rem;
}
-
-.btn-primary {
- color: #fff;
- background-color: #0078d7;
- border-color: #0078d7;
+.form-floating > .form-control:focus, .form-floating > .form-control:not(:placeholder-shown) {
+ padding-top: 1.625rem;
+ padding-bottom: 0.625rem;
}
-.btn-primary:hover {
- color: #fff;
- background-color: #0063b1;
- border-color: #005ca4;
+.form-floating > .form-control:-webkit-autofill {
+ padding-top: 1.625rem;
+ padding-bottom: 0.625rem;
}
-.btn-primary:focus, .btn-primary.focus {
- color: #fff;
- background-color: #0063b1;
- border-color: #005ca4;
- box-shadow: 0 0 0 0.2rem rgba(38, 140, 221, 0.5);
+.form-floating > .form-select {
+ padding-top: 1.625rem;
+ padding-bottom: 0.625rem;
}
-.btn-primary.disabled, .btn-primary:disabled {
- color: #fff;
- background-color: #0078d7;
- border-color: #0078d7;
+.form-floating > .form-control:not(:-moz-placeholder-shown) ~ label {
+ opacity: 0.65;
+ transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);
}
-.btn-primary:not(:disabled):not(.disabled):active, .btn-primary:not(:disabled):not(.disabled).active, .show > .btn-primary.dropdown-toggle {
- color: #fff;
- background-color: #005ca4;
- border-color: #005497;
+.form-floating > .form-control:not(:-ms-input-placeholder) ~ label {
+ opacity: 0.65;
+ transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);
}
-.btn-primary:not(:disabled):not(.disabled):active:focus, .btn-primary:not(:disabled):not(.disabled).active:focus, .show > .btn-primary.dropdown-toggle:focus {
- box-shadow: 0 0 0 0.2rem rgba(38, 140, 221, 0.5);
+.form-floating > .form-control:focus ~ label,
+.form-floating > .form-control:not(:placeholder-shown) ~ label,
+.form-floating > .form-select ~ label {
+ opacity: 0.65;
+ transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);
}
-
-.btn-secondary {
- color: #fff;
- background-color: #6c757d;
- border-color: #6c757d;
+.form-floating > .form-control:-webkit-autofill ~ label {
+ opacity: 0.65;
+ transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);
}
-.btn-secondary:hover {
- color: #fff;
- background-color: #5a6268;
- border-color: #545b62;
+
+.input-group {
+ position: relative;
+ display: flex;
+ flex-wrap: wrap;
+ align-items: stretch;
+ width: 100%;
}
-.btn-secondary:focus, .btn-secondary.focus {
- color: #fff;
- background-color: #5a6268;
- border-color: #545b62;
- box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5);
+.input-group > .form-control,
+.input-group > .form-select {
+ position: relative;
+ flex: 1 1 auto;
+ width: 1%;
+ min-width: 0;
}
-.btn-secondary.disabled, .btn-secondary:disabled {
- color: #fff;
- background-color: #6c757d;
- border-color: #6c757d;
+.input-group > .form-control:focus,
+.input-group > .form-select:focus {
+ z-index: 3;
}
-.btn-secondary:not(:disabled):not(.disabled):active, .btn-secondary:not(:disabled):not(.disabled).active, .show > .btn-secondary.dropdown-toggle {
- color: #fff;
- background-color: #545b62;
- border-color: #4e555b;
+.input-group .btn {
+ position: relative;
+ z-index: 2;
}
-.btn-secondary:not(:disabled):not(.disabled):active:focus, .btn-secondary:not(:disabled):not(.disabled).active:focus, .show > .btn-secondary.dropdown-toggle:focus {
- box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5);
+.input-group .btn:focus {
+ z-index: 3;
}
-.btn-success {
- color: #212529;
- background-color: #97c800;
- border-color: #97c800;
-}
-.btn-success:hover {
- color: #fff;
- background-color: #7aa200;
- border-color: #709500;
-}
-.btn-success:focus, .btn-success.focus {
- color: #fff;
- background-color: #7aa200;
- border-color: #709500;
- box-shadow: 0 0 0 0.2rem rgba(133, 176, 6, 0.5);
-}
-.btn-success.disabled, .btn-success:disabled {
+.input-group-text {
+ display: flex;
+ align-items: center;
+ padding: 0.375rem 0.75rem;
+ font-size: 1rem;
+ font-weight: 400;
+ line-height: 1.6;
color: #212529;
- background-color: #97c800;
- border-color: #97c800;
+ text-align: center;
+ white-space: nowrap;
+ background-color: #e9ecef;
+ border: 1px solid #ced4da;
+ border-radius: 0.25rem;
}
-.btn-success:not(:disabled):not(.disabled):active, .btn-success:not(:disabled):not(.disabled).active, .show > .btn-success.dropdown-toggle {
- color: #fff;
- background-color: #709500;
- border-color: #678800;
+
+.input-group-lg > .form-control,
+.input-group-lg > .form-select,
+.input-group-lg > .input-group-text,
+.input-group-lg > .btn {
+ padding: 0.5rem 1rem;
+ font-size: 1.25rem;
+ border-radius: 0.3rem;
}
-.btn-success:not(:disabled):not(.disabled):active:focus, .btn-success:not(:disabled):not(.disabled).active:focus, .show > .btn-success.dropdown-toggle:focus {
- box-shadow: 0 0 0 0.2rem rgba(133, 176, 6, 0.5);
+
+.input-group-sm > .form-control,
+.input-group-sm > .form-select,
+.input-group-sm > .input-group-text,
+.input-group-sm > .btn {
+ padding: 0.25rem 0.5rem;
+ font-size: 0.875rem;
+ border-radius: 0.2rem;
}
-.btn-info {
- color: #fff;
- background-color: #0098df;
- border-color: #0098df;
+.input-group-lg > .form-select,
+.input-group-sm > .form-select {
+ padding-right: 1.75rem;
}
-.btn-info:hover {
- color: #fff;
- background-color: #007eb9;
- border-color: #0075ac;
+
+.input-group:not(.has-validation) > :not(:last-child):not(.dropdown-toggle):not(.dropdown-menu),
+.input-group:not(.has-validation) > .dropdown-toggle:nth-last-child(n+3) {
+ border-top-right-radius: 0;
+ border-bottom-right-radius: 0;
}
-.btn-info:focus, .btn-info.focus {
- color: #fff;
- background-color: #007eb9;
- border-color: #0075ac;
- box-shadow: 0 0 0 0.2rem rgba(38, 167, 228, 0.5);
+.input-group.has-validation > :nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu),
+.input-group.has-validation > .dropdown-toggle:nth-last-child(n+4) {
+ border-top-right-radius: 0;
+ border-bottom-right-radius: 0;
}
-.btn-info.disabled, .btn-info:disabled {
- color: #fff;
- background-color: #0098df;
- border-color: #0098df;
+.input-group > :not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback) {
+ margin-left: -1px;
+ border-top-left-radius: 0;
+ border-bottom-left-radius: 0;
}
-.btn-info:not(:disabled):not(.disabled):active, .btn-info:not(:disabled):not(.disabled).active, .show > .btn-info.dropdown-toggle {
- color: #fff;
- background-color: #0075ac;
- border-color: #006d9f;
+
+.valid-feedback {
+ display: none;
+ width: 100%;
+ margin-top: 0.25rem;
+ font-size: 0.875em;
+ color: #97c800;
}
-.btn-info:not(:disabled):not(.disabled):active:focus, .btn-info:not(:disabled):not(.disabled).active:focus, .show > .btn-info.dropdown-toggle:focus {
- box-shadow: 0 0 0 0.2rem rgba(38, 167, 228, 0.5);
+
+.valid-tooltip {
+ position: absolute;
+ top: 100%;
+ z-index: 5;
+ display: none;
+ max-width: 100%;
+ padding: 0.25rem 0.5rem;
+ margin-top: 0.1rem;
+ font-size: 0.875rem;
+ color: #000;
+ background-color: rgba(151, 200, 0, 0.9);
+ border-radius: 0.25rem;
}
-.btn-warning {
- color: #212529;
- background-color: #ffc000;
- border-color: #ffc000;
+.was-validated :valid ~ .valid-feedback,
+.was-validated :valid ~ .valid-tooltip,
+.is-valid ~ .valid-feedback,
+.is-valid ~ .valid-tooltip {
+ display: block;
}
-.btn-warning:hover {
- color: #212529;
- background-color: #d9a300;
- border-color: #cc9a00;
+
+.was-validated .form-control:valid, .form-control.is-valid {
+ border-color: #97c800;
+ padding-right: calc(1.6em + 0.75rem);
+ background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2397c800' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");
+ background-repeat: no-repeat;
+ background-position: right calc(0.4em + 0.1875rem) center;
+ background-size: calc(0.8em + 0.375rem) calc(0.8em + 0.375rem);
}
-.btn-warning:focus, .btn-warning.focus {
- color: #212529;
- background-color: #d9a300;
- border-color: #cc9a00;
- box-shadow: 0 0 0 0.2rem rgba(222, 169, 6, 0.5);
+.was-validated .form-control:valid:focus, .form-control.is-valid:focus {
+ border-color: #97c800;
+ box-shadow: 0 0 0 0.25rem rgba(151, 200, 0, 0.25);
}
-.btn-warning.disabled, .btn-warning:disabled {
- color: #212529;
- background-color: #ffc000;
- border-color: #ffc000;
+
+.was-validated textarea.form-control:valid, textarea.form-control.is-valid {
+ padding-right: calc(1.6em + 0.75rem);
+ background-position: top calc(0.4em + 0.1875rem) right calc(0.4em + 0.1875rem);
}
-.btn-warning:not(:disabled):not(.disabled):active, .btn-warning:not(:disabled):not(.disabled).active, .show > .btn-warning.dropdown-toggle {
- color: #212529;
- background-color: #cc9a00;
- border-color: #bf9000;
+
+.was-validated .form-select:valid, .form-select.is-valid {
+ border-color: #97c800;
+ padding-right: calc(0.75em + 2.3125rem);
+ background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e"), url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2397c800' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");
+ background-position: right 0.75rem center, center right 1.75rem;
+ background-size: 16px 12px, calc(0.8em + 0.375rem) calc(0.8em + 0.375rem);
}
-.btn-warning:not(:disabled):not(.disabled):active:focus, .btn-warning:not(:disabled):not(.disabled).active:focus, .show > .btn-warning.dropdown-toggle:focus {
- box-shadow: 0 0 0 0.2rem rgba(222, 169, 6, 0.5);
+.was-validated .form-select:valid:focus, .form-select.is-valid:focus {
+ border-color: #97c800;
+ box-shadow: 0 0 0 0.25rem rgba(151, 200, 0, 0.25);
}
-.btn-danger {
- color: #fff;
- background-color: #e74018;
+.was-validated .form-check-input:valid, .form-check-input.is-valid {
+ border-color: #97c800;
+}
+.was-validated .form-check-input:valid:checked, .form-check-input.is-valid:checked {
+ background-color: #97c800;
+}
+.was-validated .form-check-input:valid:focus, .form-check-input.is-valid:focus {
+ box-shadow: 0 0 0 0.25rem rgba(151, 200, 0, 0.25);
+}
+.was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label {
+ color: #97c800;
+}
+
+.form-check-inline .form-check-input ~ .valid-feedback {
+ margin-left: 0.5em;
+}
+
+.invalid-feedback {
+ display: none;
+ width: 100%;
+ margin-top: 0.25rem;
+ font-size: 0.875em;
+ color: #e74018;
+}
+
+.invalid-tooltip {
+ position: absolute;
+ top: 100%;
+ z-index: 5;
+ display: none;
+ max-width: 100%;
+ padding: 0.25rem 0.5rem;
+ margin-top: 0.1rem;
+ font-size: 0.875rem;
+ color: #000;
+ background-color: rgba(231, 64, 24, 0.9);
+ border-radius: 0.25rem;
+}
+
+.was-validated :invalid ~ .invalid-feedback,
+.was-validated :invalid ~ .invalid-tooltip,
+.is-invalid ~ .invalid-feedback,
+.is-invalid ~ .invalid-tooltip {
+ display: block;
+}
+
+.was-validated .form-control:invalid, .form-control.is-invalid {
border-color: #e74018;
+ padding-right: calc(1.6em + 0.75rem);
+ background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23e74018'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23e74018' stroke='none'/%3e%3c/svg%3e");
+ background-repeat: no-repeat;
+ background-position: right calc(0.4em + 0.1875rem) center;
+ background-size: calc(0.8em + 0.375rem) calc(0.8em + 0.375rem);
}
-.btn-danger:hover {
- color: #fff;
- background-color: #c43614;
- border-color: #b93313;
+.was-validated .form-control:invalid:focus, .form-control.is-invalid:focus {
+ border-color: #e74018;
+ box-shadow: 0 0 0 0.25rem rgba(231, 64, 24, 0.25);
}
-.btn-danger:focus, .btn-danger.focus {
- color: #fff;
- background-color: #c43614;
- border-color: #b93313;
- box-shadow: 0 0 0 0.2rem rgba(235, 93, 59, 0.5);
+
+.was-validated textarea.form-control:invalid, textarea.form-control.is-invalid {
+ padding-right: calc(1.6em + 0.75rem);
+ background-position: top calc(0.4em + 0.1875rem) right calc(0.4em + 0.1875rem);
}
-.btn-danger.disabled, .btn-danger:disabled {
- color: #fff;
- background-color: #e74018;
+
+.was-validated .form-select:invalid, .form-select.is-invalid {
border-color: #e74018;
+ padding-right: calc(0.75em + 2.3125rem);
+ background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e"), url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23e74018'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23e74018' stroke='none'/%3e%3c/svg%3e");
+ background-position: right 0.75rem center, center right 1.75rem;
+ background-size: 16px 12px, calc(0.8em + 0.375rem) calc(0.8em + 0.375rem);
}
-.btn-danger:not(:disabled):not(.disabled):active, .btn-danger:not(:disabled):not(.disabled).active, .show > .btn-danger.dropdown-toggle {
- color: #fff;
- background-color: #b93313;
- border-color: #ad3012;
+.was-validated .form-select:invalid:focus, .form-select.is-invalid:focus {
+ border-color: #e74018;
+ box-shadow: 0 0 0 0.25rem rgba(231, 64, 24, 0.25);
+}
+
+.was-validated .form-check-input:invalid, .form-check-input.is-invalid {
+ border-color: #e74018;
}
-.btn-danger:not(:disabled):not(.disabled):active:focus, .btn-danger:not(:disabled):not(.disabled).active:focus, .show > .btn-danger.dropdown-toggle:focus {
- box-shadow: 0 0 0 0.2rem rgba(235, 93, 59, 0.5);
+.was-validated .form-check-input:invalid:checked, .form-check-input.is-invalid:checked {
+ background-color: #e74018;
+}
+.was-validated .form-check-input:invalid:focus, .form-check-input.is-invalid:focus {
+ box-shadow: 0 0 0 0.25rem rgba(231, 64, 24, 0.25);
+}
+.was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label {
+ color: #e74018;
}
-.btn-light {
- color: #212529;
- background-color: #f8f9fa;
- border-color: #f8f9fa;
+.form-check-inline .form-check-input ~ .invalid-feedback {
+ margin-left: 0.5em;
}
-.btn-light:hover {
+
+.btn {
+ display: inline-block;
+ font-weight: 400;
+ line-height: 1.6;
color: #212529;
- background-color: #e2e6ea;
- border-color: #dae0e5;
+ text-align: center;
+ text-decoration: none;
+ vertical-align: middle;
+ cursor: pointer;
+ -webkit-user-select: none;
+ -moz-user-select: none;
+ -ms-user-select: none;
+ user-select: none;
+ background-color: transparent;
+ border: 1px solid transparent;
+ padding: 0.375rem 0.75rem;
+ font-size: 1rem;
+ border-radius: 0.25rem;
+ transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
-.btn-light:focus, .btn-light.focus {
- color: #212529;
- background-color: #e2e6ea;
- border-color: #dae0e5;
- box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5);
+@media (prefers-reduced-motion: reduce) {
+ .btn {
+ transition: none;
+ }
}
-.btn-light.disabled, .btn-light:disabled {
+.btn:hover {
color: #212529;
- background-color: #f8f9fa;
- border-color: #f8f9fa;
}
-.btn-light:not(:disabled):not(.disabled):active, .btn-light:not(:disabled):not(.disabled).active, .show > .btn-light.dropdown-toggle {
- color: #212529;
- background-color: #dae0e5;
- border-color: #d3d9df;
+.btn-check:focus + .btn, .btn:focus {
+ outline: 0;
+ box-shadow: none !important;
}
-.btn-light:not(:disabled):not(.disabled):active:focus, .btn-light:not(:disabled):not(.disabled).active:focus, .show > .btn-light.dropdown-toggle:focus {
- box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5);
+.btn:disabled, .btn.disabled, fieldset:disabled .btn {
+ pointer-events: none;
+ opacity: 0.65;
}
-.btn-dark {
+.btn-primary {
color: #fff;
- background-color: #343a40;
- border-color: #343a40;
+ background-color: #005dc5;
+ border-color: #005dc5;
}
-.btn-dark:hover {
+.btn-primary:hover {
color: #fff;
- background-color: #23272b;
- border-color: #1d2124;
+ background-color: #004fa7;
+ border-color: #004a9e;
}
-.btn-dark:focus, .btn-dark.focus {
+.btn-check:focus + .btn-primary, .btn-primary:focus {
color: #fff;
- background-color: #23272b;
- border-color: #1d2124;
- box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5);
+ background-color: #004fa7;
+ border-color: #004a9e;
+ box-shadow: 0 0 0 0.25rem rgba(38, 117, 206, 0.5);
}
-.btn-dark.disabled, .btn-dark:disabled {
+.btn-check:checked + .btn-primary, .btn-check:active + .btn-primary, .btn-primary:active, .btn-primary.active, .show > .btn-primary.dropdown-toggle {
color: #fff;
- background-color: #343a40;
- border-color: #343a40;
+ background-color: #004a9e;
+ border-color: #004694;
}
-.btn-dark:not(:disabled):not(.disabled):active, .btn-dark:not(:disabled):not(.disabled).active, .show > .btn-dark.dropdown-toggle {
- color: #fff;
- background-color: #1d2124;
- border-color: #171a1d;
+.btn-check:checked + .btn-primary:focus, .btn-check:active + .btn-primary:focus, .btn-primary:active:focus, .btn-primary.active:focus, .show > .btn-primary.dropdown-toggle:focus {
+ box-shadow: 0 0 0 0.25rem rgba(38, 117, 206, 0.5);
}
-.btn-dark:not(:disabled):not(.disabled):active:focus, .btn-dark:not(:disabled):not(.disabled).active:focus, .show > .btn-dark.dropdown-toggle:focus {
- box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5);
+.btn-primary:disabled, .btn-primary.disabled {
+ color: #fff;
+ background-color: #005dc5;
+ border-color: #005dc5;
}
-.btn-outline-primary {
- color: #0078d7;
- border-color: #0078d7;
-}
-.btn-outline-primary:hover {
+.btn-secondary {
color: #fff;
- background-color: #0078d7;
- border-color: #0078d7;
-}
-.btn-outline-primary:focus, .btn-outline-primary.focus {
- box-shadow: 0 0 0 0.2rem rgba(0, 120, 215, 0.5);
-}
-.btn-outline-primary.disabled, .btn-outline-primary:disabled {
- color: #0078d7;
- background-color: transparent;
+ background-color: #6c757d;
+ border-color: #6c757d;
}
-.btn-outline-primary:not(:disabled):not(.disabled):active, .btn-outline-primary:not(:disabled):not(.disabled).active, .show > .btn-outline-primary.dropdown-toggle {
+.btn-secondary:hover {
color: #fff;
- background-color: #0078d7;
- border-color: #0078d7;
-}
-.btn-outline-primary:not(:disabled):not(.disabled):active:focus, .btn-outline-primary:not(:disabled):not(.disabled).active:focus, .show > .btn-outline-primary.dropdown-toggle:focus {
- box-shadow: 0 0 0 0.2rem rgba(0, 120, 215, 0.5);
-}
-
-.btn-outline-secondary {
- color: #6c757d;
- border-color: #6c757d;
+ background-color: #5c636a;
+ border-color: #565e64;
}
-.btn-outline-secondary:hover {
+.btn-check:focus + .btn-secondary, .btn-secondary:focus {
color: #fff;
- background-color: #6c757d;
- border-color: #6c757d;
+ background-color: #5c636a;
+ border-color: #565e64;
+ box-shadow: 0 0 0 0.25rem rgba(130, 138, 145, 0.5);
}
-.btn-outline-secondary:focus, .btn-outline-secondary.focus {
- box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);
+.btn-check:checked + .btn-secondary, .btn-check:active + .btn-secondary, .btn-secondary:active, .btn-secondary.active, .show > .btn-secondary.dropdown-toggle {
+ color: #fff;
+ background-color: #565e64;
+ border-color: #51585e;
}
-.btn-outline-secondary.disabled, .btn-outline-secondary:disabled {
- color: #6c757d;
- background-color: transparent;
+.btn-check:checked + .btn-secondary:focus, .btn-check:active + .btn-secondary:focus, .btn-secondary:active:focus, .btn-secondary.active:focus, .show > .btn-secondary.dropdown-toggle:focus {
+ box-shadow: 0 0 0 0.25rem rgba(130, 138, 145, 0.5);
}
-.btn-outline-secondary:not(:disabled):not(.disabled):active, .btn-outline-secondary:not(:disabled):not(.disabled).active, .show > .btn-outline-secondary.dropdown-toggle {
+.btn-secondary:disabled, .btn-secondary.disabled {
color: #fff;
background-color: #6c757d;
border-color: #6c757d;
}
-.btn-outline-secondary:not(:disabled):not(.disabled):active:focus, .btn-outline-secondary:not(:disabled):not(.disabled).active:focus, .show > .btn-outline-secondary.dropdown-toggle:focus {
- box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);
-}
-.btn-outline-success {
- color: #97c800;
- border-color: #97c800;
-}
-.btn-outline-success:hover {
- color: #212529;
+.btn-success {
+ color: #000;
background-color: #97c800;
border-color: #97c800;
}
-.btn-outline-success:focus, .btn-outline-success.focus {
- box-shadow: 0 0 0 0.2rem rgba(151, 200, 0, 0.5);
+.btn-success:hover {
+ color: #000;
+ background-color: #a7d026;
+ border-color: #a1ce1a;
+}
+.btn-check:focus + .btn-success, .btn-success:focus {
+ color: #000;
+ background-color: #a7d026;
+ border-color: #a1ce1a;
+ box-shadow: 0 0 0 0.25rem rgba(128, 170, 0, 0.5);
}
-.btn-outline-success.disabled, .btn-outline-success:disabled {
- color: #97c800;
- background-color: transparent;
+.btn-check:checked + .btn-success, .btn-check:active + .btn-success, .btn-success:active, .btn-success.active, .show > .btn-success.dropdown-toggle {
+ color: #000;
+ background-color: #acd333;
+ border-color: #a1ce1a;
}
-.btn-outline-success:not(:disabled):not(.disabled):active, .btn-outline-success:not(:disabled):not(.disabled).active, .show > .btn-outline-success.dropdown-toggle {
- color: #212529;
+.btn-check:checked + .btn-success:focus, .btn-check:active + .btn-success:focus, .btn-success:active:focus, .btn-success.active:focus, .show > .btn-success.dropdown-toggle:focus {
+ box-shadow: 0 0 0 0.25rem rgba(128, 170, 0, 0.5);
+}
+.btn-success:disabled, .btn-success.disabled {
+ color: #000;
background-color: #97c800;
border-color: #97c800;
}
-.btn-outline-success:not(:disabled):not(.disabled):active:focus, .btn-outline-success:not(:disabled):not(.disabled).active:focus, .show > .btn-outline-success.dropdown-toggle:focus {
- box-shadow: 0 0 0 0.2rem rgba(151, 200, 0, 0.5);
-}
-.btn-outline-info {
- color: #0098df;
- border-color: #0098df;
-}
-.btn-outline-info:hover {
- color: #fff;
+.btn-info {
+ color: #000;
background-color: #0098df;
border-color: #0098df;
}
-.btn-outline-info:focus, .btn-outline-info.focus {
- box-shadow: 0 0 0 0.2rem rgba(0, 152, 223, 0.5);
+.btn-info:hover {
+ color: #000;
+ background-color: #26a7e4;
+ border-color: #1aa2e2;
}
-.btn-outline-info.disabled, .btn-outline-info:disabled {
- color: #0098df;
- background-color: transparent;
+.btn-check:focus + .btn-info, .btn-info:focus {
+ color: #000;
+ background-color: #26a7e4;
+ border-color: #1aa2e2;
+ box-shadow: 0 0 0 0.25rem rgba(0, 129, 190, 0.5);
}
-.btn-outline-info:not(:disabled):not(.disabled):active, .btn-outline-info:not(:disabled):not(.disabled).active, .show > .btn-outline-info.dropdown-toggle {
- color: #fff;
+.btn-check:checked + .btn-info, .btn-check:active + .btn-info, .btn-info:active, .btn-info.active, .show > .btn-info.dropdown-toggle {
+ color: #000;
+ background-color: #33ade5;
+ border-color: #1aa2e2;
+}
+.btn-check:checked + .btn-info:focus, .btn-check:active + .btn-info:focus, .btn-info:active:focus, .btn-info.active:focus, .show > .btn-info.dropdown-toggle:focus {
+ box-shadow: 0 0 0 0.25rem rgba(0, 129, 190, 0.5);
+}
+.btn-info:disabled, .btn-info.disabled {
+ color: #000;
background-color: #0098df;
border-color: #0098df;
}
-.btn-outline-info:not(:disabled):not(.disabled):active:focus, .btn-outline-info:not(:disabled):not(.disabled).active:focus, .show > .btn-outline-info.dropdown-toggle:focus {
- box-shadow: 0 0 0 0.2rem rgba(0, 152, 223, 0.5);
-}
-.btn-outline-warning {
- color: #ffc000;
- border-color: #ffc000;
-}
-.btn-outline-warning:hover {
- color: #212529;
+.btn-warning {
+ color: #000;
background-color: #ffc000;
border-color: #ffc000;
}
-.btn-outline-warning:focus, .btn-outline-warning.focus {
- box-shadow: 0 0 0 0.2rem rgba(255, 192, 0, 0.5);
+.btn-warning:hover {
+ color: #000;
+ background-color: #ffc926;
+ border-color: #ffc61a;
}
-.btn-outline-warning.disabled, .btn-outline-warning:disabled {
- color: #ffc000;
- background-color: transparent;
+.btn-check:focus + .btn-warning, .btn-warning:focus {
+ color: #000;
+ background-color: #ffc926;
+ border-color: #ffc61a;
+ box-shadow: 0 0 0 0.25rem rgba(217, 163, 0, 0.5);
}
-.btn-outline-warning:not(:disabled):not(.disabled):active, .btn-outline-warning:not(:disabled):not(.disabled).active, .show > .btn-outline-warning.dropdown-toggle {
- color: #212529;
+.btn-check:checked + .btn-warning, .btn-check:active + .btn-warning, .btn-warning:active, .btn-warning.active, .show > .btn-warning.dropdown-toggle {
+ color: #000;
+ background-color: #ffcd33;
+ border-color: #ffc61a;
+}
+.btn-check:checked + .btn-warning:focus, .btn-check:active + .btn-warning:focus, .btn-warning:active:focus, .btn-warning.active:focus, .show > .btn-warning.dropdown-toggle:focus {
+ box-shadow: 0 0 0 0.25rem rgba(217, 163, 0, 0.5);
+}
+.btn-warning:disabled, .btn-warning.disabled {
+ color: #000;
background-color: #ffc000;
border-color: #ffc000;
}
-.btn-outline-warning:not(:disabled):not(.disabled):active:focus, .btn-outline-warning:not(:disabled):not(.disabled).active:focus, .show > .btn-outline-warning.dropdown-toggle:focus {
- box-shadow: 0 0 0 0.2rem rgba(255, 192, 0, 0.5);
-}
-.btn-outline-danger {
- color: #e74018;
+.btn-danger {
+ color: #000;
+ background-color: #e74018;
border-color: #e74018;
}
-.btn-outline-danger:hover {
- color: #fff;
+.btn-danger:hover {
+ color: #000;
+ background-color: #eb5d3b;
+ border-color: #e9532f;
+}
+.btn-check:focus + .btn-danger, .btn-danger:focus {
+ color: #000;
+ background-color: #eb5d3b;
+ border-color: #e9532f;
+ box-shadow: 0 0 0 0.25rem rgba(196, 54, 20, 0.5);
+}
+.btn-check:checked + .btn-danger, .btn-check:active + .btn-danger, .btn-danger:active, .btn-danger.active, .show > .btn-danger.dropdown-toggle {
+ color: #000;
+ background-color: #ec6646;
+ border-color: #e9532f;
+}
+.btn-check:checked + .btn-danger:focus, .btn-check:active + .btn-danger:focus, .btn-danger:active:focus, .btn-danger.active:focus, .show > .btn-danger.dropdown-toggle:focus {
+ box-shadow: 0 0 0 0.25rem rgba(196, 54, 20, 0.5);
+}
+.btn-danger:disabled, .btn-danger.disabled {
+ color: #000;
background-color: #e74018;
border-color: #e74018;
}
-.btn-outline-danger:focus, .btn-outline-danger.focus {
- box-shadow: 0 0 0 0.2rem rgba(231, 64, 24, 0.5);
+
+.btn-light {
+ color: #000;
+ background-color: #f8f9fa;
+ border-color: #f8f9fa;
}
-.btn-outline-danger.disabled, .btn-outline-danger:disabled {
- color: #e74018;
+.btn-light:hover {
+ color: #000;
+ background-color: #f9fafb;
+ border-color: #f9fafb;
+}
+.btn-check:focus + .btn-light, .btn-light:focus {
+ color: #000;
+ background-color: #f9fafb;
+ border-color: #f9fafb;
+ box-shadow: 0 0 0 0.25rem rgba(211, 212, 213, 0.5);
+}
+.btn-check:checked + .btn-light, .btn-check:active + .btn-light, .btn-light:active, .btn-light.active, .show > .btn-light.dropdown-toggle {
+ color: #000;
+ background-color: #f9fafb;
+ border-color: #f9fafb;
+}
+.btn-check:checked + .btn-light:focus, .btn-check:active + .btn-light:focus, .btn-light:active:focus, .btn-light.active:focus, .show > .btn-light.dropdown-toggle:focus {
+ box-shadow: 0 0 0 0.25rem rgba(211, 212, 213, 0.5);
+}
+.btn-light:disabled, .btn-light.disabled {
+ color: #000;
+ background-color: #f8f9fa;
+ border-color: #f8f9fa;
+}
+
+.btn-dark {
+ color: #fff;
+ background-color: #212529;
+ border-color: #212529;
+}
+.btn-dark:hover {
+ color: #fff;
+ background-color: #1c1f23;
+ border-color: #1a1e21;
+}
+.btn-check:focus + .btn-dark, .btn-dark:focus {
+ color: #fff;
+ background-color: #1c1f23;
+ border-color: #1a1e21;
+ box-shadow: 0 0 0 0.25rem rgba(66, 70, 73, 0.5);
+}
+.btn-check:checked + .btn-dark, .btn-check:active + .btn-dark, .btn-dark:active, .btn-dark.active, .show > .btn-dark.dropdown-toggle {
+ color: #fff;
+ background-color: #1a1e21;
+ border-color: #191c1f;
+}
+.btn-check:checked + .btn-dark:focus, .btn-check:active + .btn-dark:focus, .btn-dark:active:focus, .btn-dark.active:focus, .show > .btn-dark.dropdown-toggle:focus {
+ box-shadow: 0 0 0 0.25rem rgba(66, 70, 73, 0.5);
+}
+.btn-dark:disabled, .btn-dark.disabled {
+ color: #fff;
+ background-color: #212529;
+ border-color: #212529;
+}
+
+.btn-outline-primary {
+ color: #005dc5;
+ border-color: #005dc5;
+}
+.btn-outline-primary:hover {
+ color: #fff;
+ background-color: #005dc5;
+ border-color: #005dc5;
+}
+.btn-check:focus + .btn-outline-primary, .btn-outline-primary:focus {
+ box-shadow: 0 0 0 0.25rem rgba(0, 93, 197, 0.5);
+}
+.btn-check:checked + .btn-outline-primary, .btn-check:active + .btn-outline-primary, .btn-outline-primary:active, .btn-outline-primary.active, .btn-outline-primary.dropdown-toggle.show {
+ color: #fff;
+ background-color: #005dc5;
+ border-color: #005dc5;
+}
+.btn-check:checked + .btn-outline-primary:focus, .btn-check:active + .btn-outline-primary:focus, .btn-outline-primary:active:focus, .btn-outline-primary.active:focus, .btn-outline-primary.dropdown-toggle.show:focus {
+ box-shadow: 0 0 0 0.25rem rgba(0, 93, 197, 0.5);
+}
+.btn-outline-primary:disabled, .btn-outline-primary.disabled {
+ color: #005dc5;
background-color: transparent;
}
-.btn-outline-danger:not(:disabled):not(.disabled):active, .btn-outline-danger:not(:disabled):not(.disabled).active, .show > .btn-outline-danger.dropdown-toggle {
+
+.btn-outline-secondary {
+ color: #6c757d;
+ border-color: #6c757d;
+}
+.btn-outline-secondary:hover {
+ color: #fff;
+ background-color: #6c757d;
+ border-color: #6c757d;
+}
+.btn-check:focus + .btn-outline-secondary, .btn-outline-secondary:focus {
+ box-shadow: 0 0 0 0.25rem rgba(108, 117, 125, 0.5);
+}
+.btn-check:checked + .btn-outline-secondary, .btn-check:active + .btn-outline-secondary, .btn-outline-secondary:active, .btn-outline-secondary.active, .btn-outline-secondary.dropdown-toggle.show {
color: #fff;
+ background-color: #6c757d;
+ border-color: #6c757d;
+}
+.btn-check:checked + .btn-outline-secondary:focus, .btn-check:active + .btn-outline-secondary:focus, .btn-outline-secondary:active:focus, .btn-outline-secondary.active:focus, .btn-outline-secondary.dropdown-toggle.show:focus {
+ box-shadow: 0 0 0 0.25rem rgba(108, 117, 125, 0.5);
+}
+.btn-outline-secondary:disabled, .btn-outline-secondary.disabled {
+ color: #6c757d;
+ background-color: transparent;
+}
+
+.btn-outline-success {
+ color: #97c800;
+ border-color: #97c800;
+}
+.btn-outline-success:hover {
+ color: #000;
+ background-color: #97c800;
+ border-color: #97c800;
+}
+.btn-check:focus + .btn-outline-success, .btn-outline-success:focus {
+ box-shadow: 0 0 0 0.25rem rgba(151, 200, 0, 0.5);
+}
+.btn-check:checked + .btn-outline-success, .btn-check:active + .btn-outline-success, .btn-outline-success:active, .btn-outline-success.active, .btn-outline-success.dropdown-toggle.show {
+ color: #000;
+ background-color: #97c800;
+ border-color: #97c800;
+}
+.btn-check:checked + .btn-outline-success:focus, .btn-check:active + .btn-outline-success:focus, .btn-outline-success:active:focus, .btn-outline-success.active:focus, .btn-outline-success.dropdown-toggle.show:focus {
+ box-shadow: 0 0 0 0.25rem rgba(151, 200, 0, 0.5);
+}
+.btn-outline-success:disabled, .btn-outline-success.disabled {
+ color: #97c800;
+ background-color: transparent;
+}
+
+.btn-outline-info {
+ color: #0098df;
+ border-color: #0098df;
+}
+.btn-outline-info:hover {
+ color: #000;
+ background-color: #0098df;
+ border-color: #0098df;
+}
+.btn-check:focus + .btn-outline-info, .btn-outline-info:focus {
+ box-shadow: 0 0 0 0.25rem rgba(0, 152, 223, 0.5);
+}
+.btn-check:checked + .btn-outline-info, .btn-check:active + .btn-outline-info, .btn-outline-info:active, .btn-outline-info.active, .btn-outline-info.dropdown-toggle.show {
+ color: #000;
+ background-color: #0098df;
+ border-color: #0098df;
+}
+.btn-check:checked + .btn-outline-info:focus, .btn-check:active + .btn-outline-info:focus, .btn-outline-info:active:focus, .btn-outline-info.active:focus, .btn-outline-info.dropdown-toggle.show:focus {
+ box-shadow: 0 0 0 0.25rem rgba(0, 152, 223, 0.5);
+}
+.btn-outline-info:disabled, .btn-outline-info.disabled {
+ color: #0098df;
+ background-color: transparent;
+}
+
+.btn-outline-warning {
+ color: #ffc000;
+ border-color: #ffc000;
+}
+.btn-outline-warning:hover {
+ color: #000;
+ background-color: #ffc000;
+ border-color: #ffc000;
+}
+.btn-check:focus + .btn-outline-warning, .btn-outline-warning:focus {
+ box-shadow: 0 0 0 0.25rem rgba(255, 192, 0, 0.5);
+}
+.btn-check:checked + .btn-outline-warning, .btn-check:active + .btn-outline-warning, .btn-outline-warning:active, .btn-outline-warning.active, .btn-outline-warning.dropdown-toggle.show {
+ color: #000;
+ background-color: #ffc000;
+ border-color: #ffc000;
+}
+.btn-check:checked + .btn-outline-warning:focus, .btn-check:active + .btn-outline-warning:focus, .btn-outline-warning:active:focus, .btn-outline-warning.active:focus, .btn-outline-warning.dropdown-toggle.show:focus {
+ box-shadow: 0 0 0 0.25rem rgba(255, 192, 0, 0.5);
+}
+.btn-outline-warning:disabled, .btn-outline-warning.disabled {
+ color: #ffc000;
+ background-color: transparent;
+}
+
+.btn-outline-danger {
+ color: #e74018;
+ border-color: #e74018;
+}
+.btn-outline-danger:hover {
+ color: #000;
+ background-color: #e74018;
+ border-color: #e74018;
+}
+.btn-check:focus + .btn-outline-danger, .btn-outline-danger:focus {
+ box-shadow: 0 0 0 0.25rem rgba(231, 64, 24, 0.5);
+}
+.btn-check:checked + .btn-outline-danger, .btn-check:active + .btn-outline-danger, .btn-outline-danger:active, .btn-outline-danger.active, .btn-outline-danger.dropdown-toggle.show {
+ color: #000;
background-color: #e74018;
border-color: #e74018;
}
-.btn-outline-danger:not(:disabled):not(.disabled):active:focus, .btn-outline-danger:not(:disabled):not(.disabled).active:focus, .show > .btn-outline-danger.dropdown-toggle:focus {
- box-shadow: 0 0 0 0.2rem rgba(231, 64, 24, 0.5);
+.btn-check:checked + .btn-outline-danger:focus, .btn-check:active + .btn-outline-danger:focus, .btn-outline-danger:active:focus, .btn-outline-danger.active:focus, .btn-outline-danger.dropdown-toggle.show:focus {
+ box-shadow: 0 0 0 0.25rem rgba(231, 64, 24, 0.5);
+}
+.btn-outline-danger:disabled, .btn-outline-danger.disabled {
+ color: #e74018;
+ background-color: transparent;
}
.btn-outline-light {
@@ -2829,96 +3098,75 @@ fieldset:disabled a.btn {
border-color: #f8f9fa;
}
.btn-outline-light:hover {
- color: #212529;
+ color: #000;
background-color: #f8f9fa;
border-color: #f8f9fa;
}
-.btn-outline-light:focus, .btn-outline-light.focus {
- box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);
-}
-.btn-outline-light.disabled, .btn-outline-light:disabled {
- color: #f8f9fa;
- background-color: transparent;
+.btn-check:focus + .btn-outline-light, .btn-outline-light:focus {
+ box-shadow: 0 0 0 0.25rem rgba(248, 249, 250, 0.5);
}
-.btn-outline-light:not(:disabled):not(.disabled):active, .btn-outline-light:not(:disabled):not(.disabled).active, .show > .btn-outline-light.dropdown-toggle {
- color: #212529;
+.btn-check:checked + .btn-outline-light, .btn-check:active + .btn-outline-light, .btn-outline-light:active, .btn-outline-light.active, .btn-outline-light.dropdown-toggle.show {
+ color: #000;
background-color: #f8f9fa;
border-color: #f8f9fa;
}
-.btn-outline-light:not(:disabled):not(.disabled):active:focus, .btn-outline-light:not(:disabled):not(.disabled).active:focus, .show > .btn-outline-light.dropdown-toggle:focus {
- box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);
+.btn-check:checked + .btn-outline-light:focus, .btn-check:active + .btn-outline-light:focus, .btn-outline-light:active:focus, .btn-outline-light.active:focus, .btn-outline-light.dropdown-toggle.show:focus {
+ box-shadow: 0 0 0 0.25rem rgba(248, 249, 250, 0.5);
+}
+.btn-outline-light:disabled, .btn-outline-light.disabled {
+ color: #f8f9fa;
+ background-color: transparent;
}
.btn-outline-dark {
- color: #343a40;
- border-color: #343a40;
+ color: #212529;
+ border-color: #212529;
}
.btn-outline-dark:hover {
color: #fff;
- background-color: #343a40;
- border-color: #343a40;
-}
-.btn-outline-dark:focus, .btn-outline-dark.focus {
- box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);
+ background-color: #212529;
+ border-color: #212529;
}
-.btn-outline-dark.disabled, .btn-outline-dark:disabled {
- color: #343a40;
- background-color: transparent;
+.btn-check:focus + .btn-outline-dark, .btn-outline-dark:focus {
+ box-shadow: 0 0 0 0.25rem rgba(33, 37, 41, 0.5);
}
-.btn-outline-dark:not(:disabled):not(.disabled):active, .btn-outline-dark:not(:disabled):not(.disabled).active, .show > .btn-outline-dark.dropdown-toggle {
+.btn-check:checked + .btn-outline-dark, .btn-check:active + .btn-outline-dark, .btn-outline-dark:active, .btn-outline-dark.active, .btn-outline-dark.dropdown-toggle.show {
color: #fff;
- background-color: #343a40;
- border-color: #343a40;
+ background-color: #212529;
+ border-color: #212529;
}
-.btn-outline-dark:not(:disabled):not(.disabled):active:focus, .btn-outline-dark:not(:disabled):not(.disabled).active:focus, .show > .btn-outline-dark.dropdown-toggle:focus {
- box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);
+.btn-check:checked + .btn-outline-dark:focus, .btn-check:active + .btn-outline-dark:focus, .btn-outline-dark:active:focus, .btn-outline-dark.active:focus, .btn-outline-dark.dropdown-toggle.show:focus {
+ box-shadow: 0 0 0 0.25rem rgba(33, 37, 41, 0.5);
+}
+.btn-outline-dark:disabled, .btn-outline-dark.disabled {
+ color: #212529;
+ background-color: transparent;
}
.btn-link {
font-weight: 400;
- color: #0078d7;
- text-decoration: none;
-}
-.btn-link:hover {
- color: #004d8b;
+ color: #005dc5;
text-decoration: underline;
}
-.btn-link:focus, .btn-link.focus {
- text-decoration: underline;
+.btn-link:hover {
+ color: #004a9e;
}
.btn-link:disabled, .btn-link.disabled {
color: #6c757d;
- pointer-events: none;
}
.btn-lg, .btn-group-lg > .btn {
padding: 0.5rem 1rem;
font-size: 1.25rem;
- line-height: 1.5;
border-radius: 0.3rem;
}
.btn-sm, .btn-group-sm > .btn {
padding: 0.25rem 0.5rem;
font-size: 0.875rem;
- line-height: 1.5;
border-radius: 0.2rem;
}
-.btn-block {
- display: block;
- width: 100%;
-}
-.btn-block + .btn-block {
- margin-top: 0.5rem;
-}
-
-input[type=submit].btn-block,
-input[type=reset].btn-block,
-input[type=button].btn-block {
- width: 100%;
-}
-
.fade {
transition: opacity 0.15s linear;
}
@@ -2936,7 +3184,6 @@ input[type=button].btn-block {
}
.collapsing {
- position: relative;
height: 0;
overflow: hidden;
transition: height 0.35s ease;
@@ -2948,9 +3195,9 @@ input[type=button].btn-block {
}
.dropup,
-.dropright,
+.dropend,
.dropdown,
-.dropleft {
+.dropstart {
position: relative;
}
@@ -2977,7 +3224,6 @@ input[type=button].btn-block {
left: 0;
z-index: 1000;
display: none;
- float: left;
min-width: 10rem;
padding: 0.5rem 0;
margin: 0.125rem 0 0;
@@ -2990,59 +3236,72 @@ input[type=button].btn-block {
border: 1px solid rgba(0, 0, 0, 0.15);
border-radius: 0.25rem;
}
+.dropdown-menu[style] {
+ right: auto !important;
+}
-.dropdown-menu-left {
- right: auto;
- left: 0;
+.dropdown-menu-start {
+ --bs-position: start;
+ right: auto /* rtl:ignore */;
+ left: 0 /* rtl:ignore */;
}
-.dropdown-menu-right {
- right: 0;
- left: auto;
+.dropdown-menu-end {
+ --bs-position: end;
+ right: 0 /* rtl:ignore */;
+ left: auto /* rtl:ignore */;
}
@media (min-width: 576px) {
- .dropdown-menu-sm-left {
- right: auto;
- left: 0;
+ .dropdown-menu-sm-start {
+ --bs-position: start;
+ right: auto /* rtl:ignore */;
+ left: 0 /* rtl:ignore */;
}
- .dropdown-menu-sm-right {
- right: 0;
- left: auto;
+ .dropdown-menu-sm-end {
+ --bs-position: end;
+ right: 0 /* rtl:ignore */;
+ left: auto /* rtl:ignore */;
}
}
@media (min-width: 768px) {
- .dropdown-menu-md-left {
- right: auto;
- left: 0;
+ .dropdown-menu-md-start {
+ --bs-position: start;
+ right: auto /* rtl:ignore */;
+ left: 0 /* rtl:ignore */;
}
- .dropdown-menu-md-right {
- right: 0;
- left: auto;
+ .dropdown-menu-md-end {
+ --bs-position: end;
+ right: 0 /* rtl:ignore */;
+ left: auto /* rtl:ignore */;
}
}
@media (min-width: 992px) {
- .dropdown-menu-lg-left {
- right: auto;
- left: 0;
+ .dropdown-menu-lg-start {
+ --bs-position: start;
+ right: auto /* rtl:ignore */;
+ left: 0 /* rtl:ignore */;
}
- .dropdown-menu-lg-right {
- right: 0;
- left: auto;
+ .dropdown-menu-lg-end {
+ --bs-position: end;
+ right: 0 /* rtl:ignore */;
+ left: auto /* rtl:ignore */;
}
}
@media (min-width: 1200px) {
- .dropdown-menu-xl-left {
- right: auto;
- left: 0;
+ .dropdown-menu-xl-start {
+ --bs-position: start;
+ right: auto /* rtl:ignore */;
+ left: 0 /* rtl:ignore */;
}
- .dropdown-menu-xl-right {
- right: 0;
- left: auto;
+ .dropdown-menu-xl-end {
+ --bs-position: end;
+ right: 0 /* rtl:ignore */;
+ left: auto /* rtl:ignore */;
}
}
.dropup .dropdown-menu {
@@ -3065,14 +3324,14 @@ input[type=button].btn-block {
margin-left: 0;
}
-.dropright .dropdown-menu {
+.dropend .dropdown-menu {
top: 0;
right: auto;
left: 100%;
margin-top: 0;
margin-left: 0.125rem;
}
-.dropright .dropdown-toggle::after {
+.dropend .dropdown-toggle::after {
display: inline-block;
margin-left: 0.255em;
vertical-align: 0.255em;
@@ -3082,30 +3341,30 @@ input[type=button].btn-block {
border-bottom: 0.3em solid transparent;
border-left: 0.3em solid;
}
-.dropright .dropdown-toggle:empty::after {
+.dropend .dropdown-toggle:empty::after {
margin-left: 0;
}
-.dropright .dropdown-toggle::after {
+.dropend .dropdown-toggle::after {
vertical-align: 0;
}
-.dropleft .dropdown-menu {
+.dropstart .dropdown-menu {
top: 0;
right: 100%;
left: auto;
margin-top: 0;
margin-right: 0.125rem;
}
-.dropleft .dropdown-toggle::after {
+.dropstart .dropdown-toggle::after {
display: inline-block;
margin-left: 0.255em;
vertical-align: 0.255em;
content: "";
}
-.dropleft .dropdown-toggle::after {
+.dropstart .dropdown-toggle::after {
display: none;
}
-.dropleft .dropdown-toggle::before {
+.dropstart .dropdown-toggle::before {
display: inline-block;
margin-right: 0.255em;
vertical-align: 0.255em;
@@ -3114,46 +3373,41 @@ input[type=button].btn-block {
border-right: 0.3em solid;
border-bottom: 0.3em solid transparent;
}
-.dropleft .dropdown-toggle:empty::after {
+.dropstart .dropdown-toggle:empty::after {
margin-left: 0;
}
-.dropleft .dropdown-toggle::before {
+.dropstart .dropdown-toggle::before {
vertical-align: 0;
}
-.dropdown-menu[x-placement^=top], .dropdown-menu[x-placement^=right], .dropdown-menu[x-placement^=bottom], .dropdown-menu[x-placement^=left] {
- right: auto;
- bottom: auto;
-}
-
.dropdown-divider {
height: 0;
margin: 0.5rem 0;
overflow: hidden;
- border-top: 1px solid #e9ecef;
+ border-top: 1px solid rgba(0, 0, 0, 0.15);
}
.dropdown-item {
display: block;
width: 100%;
- padding: 0.25rem 1.5rem;
+ padding: 0.25rem 1rem;
clear: both;
font-weight: 400;
color: #212529;
text-align: inherit;
+ text-decoration: none;
white-space: nowrap;
background-color: transparent;
border: 0;
}
.dropdown-item:hover, .dropdown-item:focus {
- color: #16181b;
- text-decoration: none;
+ color: #1e2125;
background-color: #f8f9fa;
}
.dropdown-item.active, .dropdown-item:active {
color: #fff;
text-decoration: none;
- background-color: #0078d7;
+ background-color: #005dc5;
}
.dropdown-item.disabled, .dropdown-item:disabled {
color: #6c757d;
@@ -3167,7 +3421,7 @@ input[type=button].btn-block {
.dropdown-header {
display: block;
- padding: 0.5rem 1.5rem;
+ padding: 0.5rem 1rem;
margin-bottom: 0;
font-size: 0.875rem;
color: #6c757d;
@@ -3176,10 +3430,39 @@ input[type=button].btn-block {
.dropdown-item-text {
display: block;
- padding: 0.25rem 1.5rem;
+ padding: 0.25rem 1rem;
color: #212529;
}
+.dropdown-menu-dark {
+ color: #dee2e6;
+ background-color: #343a40;
+ border-color: rgba(0, 0, 0, 0.15);
+}
+.dropdown-menu-dark .dropdown-item {
+ color: #dee2e6;
+}
+.dropdown-menu-dark .dropdown-item:hover, .dropdown-menu-dark .dropdown-item:focus {
+ color: #fff;
+ background-color: rgba(255, 255, 255, 0.15);
+}
+.dropdown-menu-dark .dropdown-item.active, .dropdown-menu-dark .dropdown-item:active {
+ color: #fff;
+ background-color: #005dc5;
+}
+.dropdown-menu-dark .dropdown-item.disabled, .dropdown-menu-dark .dropdown-item:disabled {
+ color: #adb5bd;
+}
+.dropdown-menu-dark .dropdown-divider {
+ border-color: rgba(0, 0, 0, 0.15);
+}
+.dropdown-menu-dark .dropdown-item-text {
+ color: #dee2e6;
+}
+.dropdown-menu-dark .dropdown-header {
+ color: #adb5bd;
+}
+
.btn-group,
.btn-group-vertical {
position: relative;
@@ -3191,11 +3474,15 @@ input[type=button].btn-block {
position: relative;
flex: 1 1 auto;
}
+.btn-group > .btn-check:checked + .btn,
+.btn-group > .btn-check:focus + .btn,
.btn-group > .btn:hover,
-.btn-group-vertical > .btn:hover {
- z-index: 1;
-}
-.btn-group > .btn:focus, .btn-group > .btn:active, .btn-group > .btn.active,
+.btn-group > .btn:focus,
+.btn-group > .btn:active,
+.btn-group > .btn.active,
+.btn-group-vertical > .btn-check:checked + .btn,
+.btn-group-vertical > .btn-check:focus + .btn,
+.btn-group-vertical > .btn:hover,
.btn-group-vertical > .btn:focus,
.btn-group-vertical > .btn:active,
.btn-group-vertical > .btn.active {
@@ -3220,7 +3507,8 @@ input[type=button].btn-block {
border-top-right-radius: 0;
border-bottom-right-radius: 0;
}
-.btn-group > .btn:not(:first-child),
+.btn-group > .btn:nth-child(n+3),
+.btn-group > :not(.btn-check) + .btn,
.btn-group > .btn-group:not(:first-child) > .btn {
border-top-left-radius: 0;
border-bottom-left-radius: 0;
@@ -3230,10 +3518,10 @@ input[type=button].btn-block {
padding-right: 0.5625rem;
padding-left: 0.5625rem;
}
-.dropdown-toggle-split::after, .dropup .dropdown-toggle-split::after, .dropright .dropdown-toggle-split::after {
+.dropdown-toggle-split::after, .dropup .dropdown-toggle-split::after, .dropend .dropdown-toggle-split::after {
margin-left: 0;
}
-.dropleft .dropdown-toggle-split::before {
+.dropstart .dropdown-toggle-split::before {
margin-right: 0;
}
@@ -3265,6714 +3553,6220 @@ input[type=button].btn-block {
border-bottom-right-radius: 0;
border-bottom-left-radius: 0;
}
-.btn-group-vertical > .btn:not(:first-child),
+.btn-group-vertical > .btn ~ .btn,
.btn-group-vertical > .btn-group:not(:first-child) > .btn {
border-top-left-radius: 0;
border-top-right-radius: 0;
}
-.btn-group-toggle > .btn,
-.btn-group-toggle > .btn-group > .btn {
- margin-bottom: 0;
-}
-.btn-group-toggle > .btn input[type=radio],
-.btn-group-toggle > .btn input[type=checkbox],
-.btn-group-toggle > .btn-group > .btn input[type=radio],
-.btn-group-toggle > .btn-group > .btn input[type=checkbox] {
- position: absolute;
- clip: rect(0, 0, 0, 0);
- pointer-events: none;
-}
-
-.input-group {
- position: relative;
+.nav {
display: flex;
flex-wrap: wrap;
- align-items: stretch;
- width: 100%;
-}
-.input-group > .form-control,
-.input-group > .form-control-plaintext,
-.input-group > .custom-select,
-.input-group > .custom-file {
- position: relative;
- flex: 1 1 auto;
- width: 1%;
- min-width: 0;
+ padding-left: 0;
margin-bottom: 0;
+ list-style: none;
}
-.input-group > .form-control + .form-control,
-.input-group > .form-control + .custom-select,
-.input-group > .form-control + .custom-file,
-.input-group > .form-control-plaintext + .form-control,
-.input-group > .form-control-plaintext + .custom-select,
-.input-group > .form-control-plaintext + .custom-file,
-.input-group > .custom-select + .form-control,
-.input-group > .custom-select + .custom-select,
-.input-group > .custom-select + .custom-file,
-.input-group > .custom-file + .form-control,
-.input-group > .custom-file + .custom-select,
-.input-group > .custom-file + .custom-file {
- margin-left: -1px;
-}
-.input-group > .form-control:focus,
-.input-group > .custom-select:focus,
-.input-group > .custom-file .custom-file-input:focus ~ .custom-file-label {
- z-index: 3;
+
+.nav-link {
+ display: block;
+ padding: 0.5rem 1rem;
+ text-decoration: none;
+ transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out;
}
-.input-group > .custom-file .custom-file-input:focus {
- z-index: 4;
+@media (prefers-reduced-motion: reduce) {
+ .nav-link {
+ transition: none;
+ }
}
-.input-group > .form-control:not(:last-child),
-.input-group > .custom-select:not(:last-child) {
- border-top-right-radius: 0;
- border-bottom-right-radius: 0;
-}
-.input-group > .form-control:not(:first-child),
-.input-group > .custom-select:not(:first-child) {
- border-top-left-radius: 0;
- border-bottom-left-radius: 0;
-}
-.input-group > .custom-file {
- display: flex;
- align-items: center;
-}
-.input-group > .custom-file:not(:last-child) .custom-file-label, .input-group > .custom-file:not(:last-child) .custom-file-label::after {
- border-top-right-radius: 0;
- border-bottom-right-radius: 0;
-}
-.input-group > .custom-file:not(:first-child) .custom-file-label {
- border-top-left-radius: 0;
- border-bottom-left-radius: 0;
+.nav-link.disabled {
+ color: #6c757d;
+ pointer-events: none;
+ cursor: default;
}
-.input-group-prepend,
-.input-group-append {
- display: flex;
-}
-.input-group-prepend .btn,
-.input-group-append .btn {
- position: relative;
- z-index: 2;
-}
-.input-group-prepend .btn:focus,
-.input-group-append .btn:focus {
- z-index: 3;
+.nav-tabs {
+ border-bottom: 1px solid #dee2e6;
}
-.input-group-prepend .btn + .btn,
-.input-group-prepend .btn + .input-group-text,
-.input-group-prepend .input-group-text + .input-group-text,
-.input-group-prepend .input-group-text + .btn,
-.input-group-append .btn + .btn,
-.input-group-append .btn + .input-group-text,
-.input-group-append .input-group-text + .input-group-text,
-.input-group-append .input-group-text + .btn {
- margin-left: -1px;
+.nav-tabs .nav-link {
+ margin-bottom: -1px;
+ border: 1px solid transparent;
+ border-top-left-radius: 0.25rem;
+ border-top-right-radius: 0.25rem;
}
-
-.input-group-prepend {
- margin-right: -1px;
+.nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus {
+ border-color: #e9ecef #e9ecef #dee2e6;
}
-
-.input-group-append {
- margin-left: -1px;
+.nav-tabs .nav-link.disabled {
+ color: #6c757d;
+ background-color: transparent;
+ border-color: transparent;
}
-
-.input-group-text {
- display: flex;
- align-items: center;
- padding: 0.375rem 0.75rem;
- margin-bottom: 0;
- font-size: 1rem;
- font-weight: 400;
- line-height: 1.6;
+.nav-tabs .nav-link.active,
+.nav-tabs .nav-item.show .nav-link {
color: #495057;
- text-align: center;
- white-space: nowrap;
- background-color: #e9ecef;
- border: 1px solid #ced4da;
- border-radius: 0.25rem;
-}
-.input-group-text input[type=radio],
-.input-group-text input[type=checkbox] {
- margin-top: 0;
-}
-
-.input-group-lg > .form-control:not(textarea),
-.input-group-lg > .custom-select {
- height: calc(1.5em + 1rem + 2px);
+ background-color: #fff;
+ border-color: #dee2e6 #dee2e6 #fff;
}
-
-.input-group-lg > .form-control,
-.input-group-lg > .custom-select,
-.input-group-lg > .input-group-prepend > .input-group-text,
-.input-group-lg > .input-group-append > .input-group-text,
-.input-group-lg > .input-group-prepend > .btn,
-.input-group-lg > .input-group-append > .btn {
- padding: 0.5rem 1rem;
- font-size: 1.25rem;
- line-height: 1.5;
- border-radius: 0.3rem;
+.nav-tabs .dropdown-menu {
+ margin-top: -1px;
+ border-top-left-radius: 0;
+ border-top-right-radius: 0;
}
-.input-group-sm > .form-control:not(textarea),
-.input-group-sm > .custom-select {
- height: calc(1.5em + 0.5rem + 2px);
+.nav-pills .nav-link {
+ border-radius: 0.25rem;
}
-
-.input-group-sm > .form-control,
-.input-group-sm > .custom-select,
-.input-group-sm > .input-group-prepend > .input-group-text,
-.input-group-sm > .input-group-append > .input-group-text,
-.input-group-sm > .input-group-prepend > .btn,
-.input-group-sm > .input-group-append > .btn {
- padding: 0.25rem 0.5rem;
- font-size: 0.875rem;
- line-height: 1.5;
- border-radius: 0.2rem;
+.nav-pills .nav-link.active,
+.nav-pills .show > .nav-link {
+ color: #fff;
+ background-color: #005dc5;
}
-.input-group-lg > .custom-select,
-.input-group-sm > .custom-select {
- padding-right: 1.75rem;
+.nav-fill > .nav-link,
+.nav-fill .nav-item {
+ flex: 1 1 auto;
+ text-align: center;
}
-.input-group > .input-group-prepend > .btn,
-.input-group > .input-group-prepend > .input-group-text,
-.input-group > .input-group-append:not(:last-child) > .btn,
-.input-group > .input-group-append:not(:last-child) > .input-group-text,
-.input-group > .input-group-append:last-child > .btn:not(:last-child):not(.dropdown-toggle),
-.input-group > .input-group-append:last-child > .input-group-text:not(:last-child) {
- border-top-right-radius: 0;
- border-bottom-right-radius: 0;
+.nav-justified > .nav-link,
+.nav-justified .nav-item {
+ flex-basis: 0;
+ flex-grow: 1;
+ text-align: center;
}
-.input-group > .input-group-append > .btn,
-.input-group > .input-group-append > .input-group-text,
-.input-group > .input-group-prepend:not(:first-child) > .btn,
-.input-group > .input-group-prepend:not(:first-child) > .input-group-text,
-.input-group > .input-group-prepend:first-child > .btn:not(:first-child),
-.input-group > .input-group-prepend:first-child > .input-group-text:not(:first-child) {
- border-top-left-radius: 0;
- border-bottom-left-radius: 0;
+.tab-content > .tab-pane {
+ display: none;
}
-
-.custom-control {
- position: relative;
- z-index: 1;
+.tab-content > .active {
display: block;
- min-height: 1.6rem;
- padding-left: 1.5rem;
- -webkit-print-color-adjust: exact;
- color-adjust: exact;
-}
-
-.custom-control-inline {
- display: inline-flex;
- margin-right: 1rem;
}
-.custom-control-input {
- position: absolute;
- left: 0;
- z-index: -1;
- width: 1rem;
- height: 1.3rem;
- opacity: 0;
-}
-.custom-control-input:checked ~ .custom-control-label::before {
- color: #fff;
- border-color: #0078d7;
- background-color: #0078d7;
-}
-.custom-control-input:focus ~ .custom-control-label::before {
- box-shadow: none;
-}
-.custom-control-input:focus:not(:checked) ~ .custom-control-label::before {
- border-color: #58b5ff;
-}
-.custom-control-input:not(:disabled):active ~ .custom-control-label::before {
- color: #fff;
- background-color: #8bccff;
- border-color: #8bccff;
+.navbar {
+ position: relative;
+ display: flex;
+ flex-wrap: wrap;
+ align-items: center;
+ justify-content: space-between;
+ padding-top: 0.5rem;
+ padding-bottom: 0.5rem;
}
-.custom-control-input[disabled] ~ .custom-control-label, .custom-control-input:disabled ~ .custom-control-label {
- color: #6c757d;
+.navbar > .container,
+.navbar > .container-fluid,
+.navbar > .container-sm,
+.navbar > .container-md,
+.navbar > .container-lg,
+.navbar > .container-xl,
+.navbar > .container-xxl {
+ display: flex;
+ flex-wrap: inherit;
+ align-items: center;
+ justify-content: space-between;
}
-.custom-control-input[disabled] ~ .custom-control-label::before, .custom-control-input:disabled ~ .custom-control-label::before {
- background-color: #e9ecef;
+.navbar-brand {
+ padding-top: 0.3rem;
+ padding-bottom: 0.3rem;
+ margin-right: 1rem;
+ font-size: 1.25rem;
+ text-decoration: none;
+ white-space: nowrap;
}
-
-.custom-control-label {
- position: relative;
+.navbar-nav {
+ display: flex;
+ flex-direction: column;
+ padding-left: 0;
margin-bottom: 0;
- vertical-align: top;
+ list-style: none;
}
-.custom-control-label::before {
- position: absolute;
- top: 0.3rem;
- left: -1.5rem;
- display: block;
- width: 1rem;
- height: 1rem;
- pointer-events: none;
- content: "";
- background-color: #fff;
- border: #adb5bd solid 1px;
+.navbar-nav .nav-link {
+ padding-right: 0;
+ padding-left: 0;
}
-.custom-control-label::after {
- position: absolute;
- top: 0.3rem;
- left: -1.5rem;
- display: block;
- width: 1rem;
- height: 1rem;
- content: "";
- background: no-repeat 50%/50% 50%;
+.navbar-nav .dropdown-menu {
+ position: static;
}
-.custom-checkbox .custom-control-label::before {
- border-radius: 0.25rem;
-}
-.custom-checkbox .custom-control-input:checked ~ .custom-control-label::after {
- background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26l2.974 2.99L8 2.193z'/%3e%3c/svg%3e");
-}
-.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::before {
- border-color: #0078d7;
- background-color: #0078d7;
-}
-.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::after {
- background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4' viewBox='0 0 4 4'%3e%3cpath stroke='%23fff' d='M0 2h4'/%3e%3c/svg%3e");
-}
-.custom-checkbox .custom-control-input:disabled:checked ~ .custom-control-label::before {
- background-color: rgba(0, 120, 215, 0.5);
-}
-.custom-checkbox .custom-control-input:disabled:indeterminate ~ .custom-control-label::before {
- background-color: rgba(0, 120, 215, 0.5);
+.navbar-text {
+ padding-top: 0.5rem;
+ padding-bottom: 0.5rem;
}
-.custom-radio .custom-control-label::before {
- border-radius: 50%;
-}
-.custom-radio .custom-control-input:checked ~ .custom-control-label::after {
- background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e");
-}
-.custom-radio .custom-control-input:disabled:checked ~ .custom-control-label::before {
- background-color: rgba(0, 120, 215, 0.5);
+.navbar-collapse {
+ align-items: center;
+ width: 100%;
}
-.custom-switch {
- padding-left: 2.25rem;
-}
-.custom-switch .custom-control-label::before {
- left: -2.25rem;
- width: 1.75rem;
- pointer-events: all;
- border-radius: 0.5rem;
-}
-.custom-switch .custom-control-label::after {
- top: calc(0.3rem + 2px);
- left: calc(-2.25rem + 2px);
- width: calc(1rem - 4px);
- height: calc(1rem - 4px);
- background-color: #adb5bd;
- border-radius: 0.5rem;
- transition: transform 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
+.navbar-toggler {
+ padding: 0.25rem 0.75rem;
+ font-size: 1.25rem;
+ line-height: 1;
+ background-color: transparent;
+ border: 1px solid transparent;
+ border-radius: 0.25rem;
+ transition: box-shadow 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
- .custom-switch .custom-control-label::after {
+ .navbar-toggler {
transition: none;
}
}
-.custom-switch .custom-control-input:checked ~ .custom-control-label::after {
- background-color: #fff;
- transform: translateX(0.75rem);
+.navbar-toggler:hover {
+ text-decoration: none;
}
-.custom-switch .custom-control-input:disabled:checked ~ .custom-control-label::before {
- background-color: rgba(0, 120, 215, 0.5);
+.navbar-toggler:focus {
+ text-decoration: none;
+ outline: 0;
+ box-shadow: 0 0 0 0.25rem;
}
-.custom-select {
+.navbar-toggler-icon {
display: inline-block;
- width: 100%;
- height: calc(1.6em + 0.75rem + 2px);
- padding: 0.375rem 1.75rem 0.375rem 0.75rem;
- font-size: 1rem;
- font-weight: 400;
- line-height: 1.6;
- color: #495057;
+ width: 1.5em;
+ height: 1.5em;
vertical-align: middle;
- background: #fff url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right 0.75rem center/8px 10px;
- border: 1px solid #ced4da;
- border-radius: 0.25rem;
- -webkit-appearance: none;
- -moz-appearance: none;
- appearance: none;
-}
-.custom-select:focus {
- border-color: #58b5ff;
- outline: 0;
- box-shadow: 0 0 0 0.2rem rgba(0, 120, 215, 0.25);
-}
-.custom-select:focus::-ms-value {
- color: #495057;
- background-color: #fff;
-}
-.custom-select[multiple], .custom-select[size]:not([size="1"]) {
- height: auto;
- padding-right: 0.75rem;
- background-image: none;
-}
-.custom-select:disabled {
- color: #6c757d;
- background-color: #e9ecef;
-}
-.custom-select::-ms-expand {
- display: none;
-}
-.custom-select:-moz-focusring {
- color: transparent;
- text-shadow: 0 0 0 #495057;
-}
-
-.custom-select-sm {
- height: calc(1.5em + 0.5rem + 2px);
- padding-top: 0.25rem;
- padding-bottom: 0.25rem;
- padding-left: 0.5rem;
- font-size: 0.875rem;
+ background-repeat: no-repeat;
+ background-position: center;
+ background-size: 100%;
}
-.custom-select-lg {
- height: calc(1.5em + 1rem + 2px);
- padding-top: 0.5rem;
- padding-bottom: 0.5rem;
- padding-left: 1rem;
- font-size: 1.25rem;
+@media (min-width: 576px) {
+ .navbar-expand-sm {
+ flex-wrap: nowrap;
+ justify-content: flex-start;
+ }
+ .navbar-expand-sm .navbar-nav {
+ flex-direction: row;
+ }
+ .navbar-expand-sm .navbar-nav .dropdown-menu {
+ position: absolute;
+ }
+ .navbar-expand-sm .navbar-nav .nav-link {
+ padding-right: 0.5rem;
+ padding-left: 0.5rem;
+ }
+ .navbar-expand-sm .navbar-collapse {
+ display: flex !important;
+ }
+ .navbar-expand-sm .navbar-toggler {
+ display: none;
+ }
}
-
-.custom-file {
- position: relative;
- display: inline-block;
- width: 100%;
- height: calc(1.6em + 0.75rem + 2px);
- margin-bottom: 0;
-}
-
-.custom-file-input {
- position: relative;
- z-index: 2;
- width: 100%;
- height: calc(1.6em + 0.75rem + 2px);
- margin: 0;
- opacity: 0;
+@media (min-width: 768px) {
+ .navbar-expand-md {
+ flex-wrap: nowrap;
+ justify-content: flex-start;
+ }
+ .navbar-expand-md .navbar-nav {
+ flex-direction: row;
+ }
+ .navbar-expand-md .navbar-nav .dropdown-menu {
+ position: absolute;
+ }
+ .navbar-expand-md .navbar-nav .nav-link {
+ padding-right: 0.5rem;
+ padding-left: 0.5rem;
+ }
+ .navbar-expand-md .navbar-collapse {
+ display: flex !important;
+ }
+ .navbar-expand-md .navbar-toggler {
+ display: none;
+ }
}
-.custom-file-input:focus ~ .custom-file-label {
- border-color: #58b5ff;
- box-shadow: none;
+@media (min-width: 992px) {
+ .navbar-expand-lg {
+ flex-wrap: nowrap;
+ justify-content: flex-start;
+ }
+ .navbar-expand-lg .navbar-nav {
+ flex-direction: row;
+ }
+ .navbar-expand-lg .navbar-nav .dropdown-menu {
+ position: absolute;
+ }
+ .navbar-expand-lg .navbar-nav .nav-link {
+ padding-right: 0.5rem;
+ padding-left: 0.5rem;
+ }
+ .navbar-expand-lg .navbar-collapse {
+ display: flex !important;
+ }
+ .navbar-expand-lg .navbar-toggler {
+ display: none;
+ }
}
-.custom-file-input[disabled] ~ .custom-file-label, .custom-file-input:disabled ~ .custom-file-label {
- background-color: #e9ecef;
+@media (min-width: 1200px) {
+ .navbar-expand-xl {
+ flex-wrap: nowrap;
+ justify-content: flex-start;
+ }
+ .navbar-expand-xl .navbar-nav {
+ flex-direction: row;
+ }
+ .navbar-expand-xl .navbar-nav .dropdown-menu {
+ position: absolute;
+ }
+ .navbar-expand-xl .navbar-nav .nav-link {
+ padding-right: 0.5rem;
+ padding-left: 0.5rem;
+ }
+ .navbar-expand-xl .navbar-collapse {
+ display: flex !important;
+ }
+ .navbar-expand-xl .navbar-toggler {
+ display: none;
+ }
}
-.custom-file-input:lang(en) ~ .custom-file-label::after {
- content: "Browse";
+.navbar-expand {
+ flex-wrap: nowrap;
+ justify-content: flex-start;
}
-.custom-file-input ~ .custom-file-label[data-browse]::after {
- content: attr(data-browse);
+.navbar-expand .navbar-nav {
+ flex-direction: row;
}
-
-.custom-file-label {
+.navbar-expand .navbar-nav .dropdown-menu {
position: absolute;
- top: 0;
- right: 0;
- left: 0;
- z-index: 1;
- height: calc(1.6em + 0.75rem + 2px);
- padding: 0.375rem 0.75rem;
- font-weight: 400;
- line-height: 1.6;
- color: #495057;
- background-color: #fff;
- border: 1px solid #ced4da;
- border-radius: 0.25rem;
}
-.custom-file-label::after {
- position: absolute;
- top: 0;
- right: 0;
- bottom: 0;
- z-index: 3;
- display: block;
- height: calc(1.6em + 0.75rem);
- padding: 0.375rem 0.75rem;
- line-height: 1.6;
- color: #495057;
- content: "Browse";
- background-color: #e9ecef;
- border-left: inherit;
- border-radius: 0 0.25rem 0.25rem 0;
+.navbar-expand .navbar-nav .nav-link {
+ padding-right: 0.5rem;
+ padding-left: 0.5rem;
+}
+.navbar-expand .navbar-collapse {
+ display: flex !important;
+}
+.navbar-expand .navbar-toggler {
+ display: none;
}
-.custom-range {
- width: 100%;
- height: 1.4rem;
- padding: 0;
- background-color: transparent;
- -webkit-appearance: none;
- -moz-appearance: none;
- appearance: none;
+.navbar-light .navbar-brand {
+ color: rgba(0, 0, 0, 0.9);
}
-.custom-range:focus {
- outline: none;
+.navbar-light .navbar-brand:hover, .navbar-light .navbar-brand:focus {
+ color: rgba(0, 0, 0, 0.9);
}
-.custom-range:focus::-webkit-slider-thumb {
- box-shadow: 0 0 0 1px #fff, none;
+.navbar-light .navbar-nav .nav-link {
+ color: rgba(0, 0, 0, 0.55);
}
-.custom-range:focus::-moz-range-thumb {
- box-shadow: 0 0 0 1px #fff, none;
+.navbar-light .navbar-nav .nav-link:hover, .navbar-light .navbar-nav .nav-link:focus {
+ color: rgba(0, 0, 0, 0.7);
}
-.custom-range:focus::-ms-thumb {
- box-shadow: 0 0 0 1px #fff, none;
+.navbar-light .navbar-nav .nav-link.disabled {
+ color: rgba(0, 0, 0, 0.3);
}
-.custom-range::-moz-focus-outer {
- border: 0;
+.navbar-light .navbar-nav .show > .nav-link,
+.navbar-light .navbar-nav .nav-link.active {
+ color: rgba(0, 0, 0, 0.9);
}
-.custom-range::-webkit-slider-thumb {
- width: 1rem;
- height: 1rem;
- margin-top: -0.25rem;
- background-color: #0078d7;
- border: 0;
- border-radius: 1rem;
- -webkit-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
- transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
- -webkit-appearance: none;
- appearance: none;
+.navbar-light .navbar-toggler {
+ color: rgba(0, 0, 0, 0.55);
+ border-color: rgba(0, 0, 0, 0.1);
}
-@media (prefers-reduced-motion: reduce) {
- .custom-range::-webkit-slider-thumb {
- -webkit-transition: none;
- transition: none;
- }
+.navbar-light .navbar-toggler-icon {
+ background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280, 0, 0, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}
-.custom-range::-webkit-slider-thumb:active {
- background-color: #8bccff;
+.navbar-light .navbar-text {
+ color: rgba(0, 0, 0, 0.55);
}
-.custom-range::-webkit-slider-runnable-track {
- width: 100%;
- height: 0.5rem;
- color: transparent;
- cursor: pointer;
- background-color: #dee2e6;
- border-color: transparent;
- border-radius: 1rem;
+.navbar-light .navbar-text a,
+.navbar-light .navbar-text a:hover,
+.navbar-light .navbar-text a:focus {
+ color: rgba(0, 0, 0, 0.9);
}
-.custom-range::-moz-range-thumb {
- width: 1rem;
- height: 1rem;
- background-color: #0078d7;
- border: 0;
- border-radius: 1rem;
- -moz-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
- transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
- -moz-appearance: none;
- appearance: none;
+
+.navbar-dark .navbar-brand {
+ color: #fff;
}
-@media (prefers-reduced-motion: reduce) {
- .custom-range::-moz-range-thumb {
- -moz-transition: none;
- transition: none;
- }
+.navbar-dark .navbar-brand:hover, .navbar-dark .navbar-brand:focus {
+ color: #fff;
}
-.custom-range::-moz-range-thumb:active {
- background-color: #8bccff;
+.navbar-dark .navbar-nav .nav-link {
+ color: rgba(255, 255, 255, 0.55);
}
-.custom-range::-moz-range-track {
- width: 100%;
- height: 0.5rem;
- color: transparent;
- cursor: pointer;
- background-color: #dee2e6;
- border-color: transparent;
- border-radius: 1rem;
+.navbar-dark .navbar-nav .nav-link:hover, .navbar-dark .navbar-nav .nav-link:focus {
+ color: rgba(255, 255, 255, 0.75);
}
-.custom-range::-ms-thumb {
- width: 1rem;
- height: 1rem;
- margin-top: 0;
- margin-right: 0.2rem;
- margin-left: 0.2rem;
- background-color: #0078d7;
- border: 0;
- border-radius: 1rem;
- -ms-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
- transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
- appearance: none;
+.navbar-dark .navbar-nav .nav-link.disabled {
+ color: rgba(255, 255, 255, 0.25);
}
-@media (prefers-reduced-motion: reduce) {
- .custom-range::-ms-thumb {
- -ms-transition: none;
- transition: none;
- }
+.navbar-dark .navbar-nav .show > .nav-link,
+.navbar-dark .navbar-nav .nav-link.active {
+ color: #fff;
}
-.custom-range::-ms-thumb:active {
- background-color: #8bccff;
+.navbar-dark .navbar-toggler {
+ color: rgba(255, 255, 255, 0.55);
+ border-color: rgba(255, 255, 255, 0.1);
}
-.custom-range::-ms-track {
- width: 100%;
- height: 0.5rem;
- color: transparent;
- cursor: pointer;
- background-color: transparent;
- border-color: transparent;
- border-width: 0.5rem;
+.navbar-dark .navbar-toggler-icon {
+ background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}
-.custom-range::-ms-fill-lower {
- background-color: #dee2e6;
- border-radius: 1rem;
+.navbar-dark .navbar-text {
+ color: rgba(255, 255, 255, 0.55);
}
-.custom-range::-ms-fill-upper {
- margin-right: 15px;
- background-color: #dee2e6;
- border-radius: 1rem;
+.navbar-dark .navbar-text a,
+.navbar-dark .navbar-text a:hover,
+.navbar-dark .navbar-text a:focus {
+ color: #fff;
}
-.custom-range:disabled::-webkit-slider-thumb {
- background-color: #adb5bd;
+
+.card {
+ position: relative;
+ display: flex;
+ flex-direction: column;
+ min-width: 0;
+ word-wrap: break-word;
+ background-color: #fff;
+ background-clip: border-box;
+ border: 1px solid rgba(0, 0, 0, 0.125);
+ border-radius: 0.25rem;
}
-.custom-range:disabled::-webkit-slider-runnable-track {
- cursor: default;
+.card > hr {
+ margin-right: 0;
+ margin-left: 0;
}
-.custom-range:disabled::-moz-range-thumb {
- background-color: #adb5bd;
+.card > .list-group {
+ border-top: inherit;
+ border-bottom: inherit;
}
-.custom-range:disabled::-moz-range-track {
- cursor: default;
+.card > .list-group:first-child {
+ border-top-width: 0;
+ border-top-left-radius: calc(0.25rem - 1px);
+ border-top-right-radius: calc(0.25rem - 1px);
}
-.custom-range:disabled::-ms-thumb {
- background-color: #adb5bd;
+.card > .list-group:last-child {
+ border-bottom-width: 0;
+ border-bottom-right-radius: calc(0.25rem - 1px);
+ border-bottom-left-radius: calc(0.25rem - 1px);
}
-
-.custom-control-label::before,
-.custom-file-label,
-.custom-select {
- transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
+.card > .card-header + .list-group,
+.card > .list-group + .card-footer {
+ border-top: 0;
}
-@media (prefers-reduced-motion: reduce) {
- .custom-control-label::before,
-.custom-file-label,
-.custom-select {
- transition: none;
- }
+
+.card-body {
+ flex: 1 1 auto;
+ padding: 1rem 1rem;
}
-.nav {
- display: flex;
- flex-wrap: wrap;
- padding-left: 0;
+.card-title {
+ margin-bottom: 0.5rem;
+}
+
+.card-subtitle {
+ margin-top: -0.25rem;
margin-bottom: 0;
- list-style: none;
}
-.nav-link {
- display: block;
- padding: 0.5rem 1rem;
+.card-text:last-child {
+ margin-bottom: 0;
}
-.nav-link:hover, .nav-link:focus {
+
+.card-link:hover {
text-decoration: none;
}
-.nav-link.disabled {
- color: #6c757d;
- pointer-events: none;
- cursor: default;
+.card-link + .card-link {
+ margin-left: 1rem /* rtl:ignore */;
}
-.nav-tabs {
- border-bottom: 1px solid #dee2e6;
-}
-.nav-tabs .nav-item {
- margin-bottom: -1px;
+.card-header {
+ padding: 0.5rem 1rem;
+ margin-bottom: 0;
+ background-color: rgba(0, 0, 0, 0.03);
+ border-bottom: 1px solid rgba(0, 0, 0, 0.125);
}
-.nav-tabs .nav-link {
- border: 1px solid transparent;
- border-top-left-radius: 0.25rem;
- border-top-right-radius: 0.25rem;
+.card-header:first-child {
+ border-radius: calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0;
}
-.nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus {
- border-color: #e9ecef #e9ecef #dee2e6;
+
+.card-footer {
+ padding: 0.5rem 1rem;
+ background-color: rgba(0, 0, 0, 0.03);
+ border-top: 1px solid rgba(0, 0, 0, 0.125);
}
-.nav-tabs .nav-link.disabled {
- color: #6c757d;
- background-color: transparent;
- border-color: transparent;
+.card-footer:last-child {
+ border-radius: 0 0 calc(0.25rem - 1px) calc(0.25rem - 1px);
}
-.nav-tabs .nav-link.active,
-.nav-tabs .nav-item.show .nav-link {
- color: #495057;
- background-color: #fff;
- border-color: #dee2e6 #dee2e6 #fff;
+
+.card-header-tabs {
+ margin-right: -0.5rem;
+ margin-bottom: -0.5rem;
+ margin-left: -0.5rem;
+ border-bottom: 0;
}
-.nav-tabs .dropdown-menu {
- margin-top: -1px;
- border-top-left-radius: 0;
- border-top-right-radius: 0;
+
+.card-header-pills {
+ margin-right: -0.5rem;
+ margin-left: -0.5rem;
}
-.nav-pills .nav-link {
- border-radius: 0.25rem;
+.card-img-overlay {
+ position: absolute;
+ top: 0;
+ right: 0;
+ bottom: 0;
+ left: 0;
+ padding: 1rem;
+ border-radius: calc(0.25rem - 1px);
}
-.nav-pills .nav-link.active,
-.nav-pills .show > .nav-link {
- color: #fff;
- background-color: #0078d7;
+
+.card-img,
+.card-img-top,
+.card-img-bottom {
+ width: 100%;
}
-.nav-fill > .nav-link,
-.nav-fill .nav-item {
- flex: 1 1 auto;
- text-align: center;
+.card-img,
+.card-img-top {
+ border-top-left-radius: calc(0.25rem - 1px);
+ border-top-right-radius: calc(0.25rem - 1px);
}
-.nav-justified > .nav-link,
-.nav-justified .nav-item {
- flex-basis: 0;
- flex-grow: 1;
- text-align: center;
+.card-img,
+.card-img-bottom {
+ border-bottom-right-radius: calc(0.25rem - 1px);
+ border-bottom-left-radius: calc(0.25rem - 1px);
}
-.tab-content > .tab-pane {
- display: none;
+.card-group > .card {
+ margin-bottom: 0.75rem;
}
-.tab-content > .active {
- display: block;
+@media (min-width: 576px) {
+ .card-group {
+ display: flex;
+ flex-flow: row wrap;
+ }
+ .card-group > .card {
+ flex: 1 0 0%;
+ margin-bottom: 0;
+ }
+ .card-group > .card + .card {
+ margin-left: 0;
+ border-left: 0;
+ }
+ .card-group > .card:not(:last-child) {
+ border-top-right-radius: 0;
+ border-bottom-right-radius: 0;
+ }
+ .card-group > .card:not(:last-child) .card-img-top,
+.card-group > .card:not(:last-child) .card-header {
+ border-top-right-radius: 0;
+ }
+ .card-group > .card:not(:last-child) .card-img-bottom,
+.card-group > .card:not(:last-child) .card-footer {
+ border-bottom-right-radius: 0;
+ }
+ .card-group > .card:not(:first-child) {
+ border-top-left-radius: 0;
+ border-bottom-left-radius: 0;
+ }
+ .card-group > .card:not(:first-child) .card-img-top,
+.card-group > .card:not(:first-child) .card-header {
+ border-top-left-radius: 0;
+ }
+ .card-group > .card:not(:first-child) .card-img-bottom,
+.card-group > .card:not(:first-child) .card-footer {
+ border-bottom-left-radius: 0;
+ }
}
-.navbar {
+.accordion-button {
position: relative;
display: flex;
- flex-wrap: wrap;
align-items: center;
- justify-content: space-between;
- padding: 0.5rem 1rem;
+ width: 100%;
+ padding: 1rem 1.25rem;
+ font-size: 1rem;
+ color: #212529;
+ background-color: transparent;
+ border: 1px solid rgba(0, 0, 0, 0.125);
+ border-radius: 0;
+ overflow-anchor: none;
+ transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, border-radius 0.15s ease;
}
-.navbar .container,
-.navbar .container-fluid,
-.navbar .container-sm,
-.navbar .container-md,
-.navbar .container-lg,
-.navbar .container-xl {
- display: flex;
- flex-wrap: wrap;
- align-items: center;
- justify-content: space-between;
+@media (prefers-reduced-motion: reduce) {
+ .accordion-button {
+ transition: none;
+ }
}
-.navbar-brand {
- display: inline-block;
- padding-top: 0.3rem;
- padding-bottom: 0.3rem;
- margin-right: 1rem;
- font-size: 1.25rem;
- line-height: inherit;
- white-space: nowrap;
+.accordion-button.collapsed {
+ border-bottom-width: 0;
}
-.navbar-brand:hover, .navbar-brand:focus {
- text-decoration: none;
+.accordion-button:not(.collapsed) {
+ color: #0054b1;
+ background-color: #e6eff9;
+}
+.accordion-button:not(.collapsed)::after {
+ background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%230054b1'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
+ transform: rotate(180deg);
+}
+.accordion-button::after {
+ flex-shrink: 0;
+ width: 1.25rem;
+ height: 1.25rem;
+ margin-left: auto;
+ content: "";
+ background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23212529'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
+ background-repeat: no-repeat;
+ background-size: 1.25rem;
+ transition: transform 0.2s ease-in-out;
+}
+@media (prefers-reduced-motion: reduce) {
+ .accordion-button::after {
+ transition: none;
+ }
+}
+.accordion-button:hover {
+ z-index: 2;
+}
+.accordion-button:focus {
+ z-index: 3;
+ border-color: #80aee2;
+ outline: 0;
+ box-shadow: none !important;
}
-.navbar-nav {
- display: flex;
- flex-direction: column;
- padding-left: 0;
+.accordion-header {
margin-bottom: 0;
- list-style: none;
}
-.navbar-nav .nav-link {
- padding-right: 0;
- padding-left: 0;
+
+.accordion-item:first-of-type .accordion-button {
+ border-top-left-radius: 0.25rem;
+ border-top-right-radius: 0.25rem;
}
-.navbar-nav .dropdown-menu {
- position: static;
- float: none;
+.accordion-item:last-of-type .accordion-button.collapsed {
+ border-bottom-width: 1px;
+ border-bottom-right-radius: 0.25rem;
+ border-bottom-left-radius: 0.25rem;
+}
+.accordion-item:last-of-type .accordion-collapse {
+ border-bottom-width: 1px;
+ border-bottom-right-radius: 0.25rem;
+ border-bottom-left-radius: 0.25rem;
}
-.navbar-text {
- display: inline-block;
- padding-top: 0.5rem;
- padding-bottom: 0.5rem;
+.accordion-collapse {
+ border: solid rgba(0, 0, 0, 0.125);
+ border-width: 0 1px;
}
-.navbar-collapse {
- flex-basis: 100%;
- flex-grow: 1;
- align-items: center;
+.accordion-body {
+ padding: 1rem 1.25rem;
}
-.navbar-toggler {
- padding: 0.25rem 0.75rem;
- font-size: 1.25rem;
- line-height: 1;
- background-color: transparent;
- border: 1px solid transparent;
- border-radius: 0.25rem;
+.accordion-flush .accordion-button {
+ border-right: 0;
+ border-left: 0;
+ border-radius: 0;
}
-.navbar-toggler:hover, .navbar-toggler:focus {
- text-decoration: none;
+.accordion-flush .accordion-collapse {
+ border-width: 0;
+}
+.accordion-flush .accordion-item:first-of-type .accordion-button {
+ border-top-width: 0;
+ border-top-left-radius: 0;
+ border-top-right-radius: 0;
+}
+.accordion-flush .accordion-item:last-of-type .accordion-button.collapsed {
+ border-bottom-width: 0;
+ border-bottom-right-radius: 0;
+ border-bottom-left-radius: 0;
}
-.navbar-toggler-icon {
- display: inline-block;
- width: 1.5em;
- height: 1.5em;
- vertical-align: middle;
- content: "";
- background: no-repeat center center;
- background-size: 100% 100%;
+.breadcrumb {
+ display: flex;
+ flex-wrap: wrap;
+ padding: 0 0;
+ margin-bottom: 1rem;
+ list-style: none;
}
-@media (max-width: 575.98px) {
- .navbar-expand-sm > .container,
-.navbar-expand-sm > .container-fluid,
-.navbar-expand-sm > .container-sm,
-.navbar-expand-sm > .container-md,
-.navbar-expand-sm > .container-lg,
-.navbar-expand-sm > .container-xl {
- padding-right: 0;
- padding-left: 0;
- }
+.breadcrumb-item + .breadcrumb-item {
+ padding-left: 0.5rem;
}
-@media (min-width: 576px) {
- .navbar-expand-sm {
- flex-flow: row nowrap;
- justify-content: flex-start;
- }
- .navbar-expand-sm .navbar-nav {
- flex-direction: row;
- }
- .navbar-expand-sm .navbar-nav .dropdown-menu {
- position: absolute;
- }
- .navbar-expand-sm .navbar-nav .nav-link {
- padding-right: 0.5rem;
- padding-left: 0.5rem;
- }
- .navbar-expand-sm > .container,
-.navbar-expand-sm > .container-fluid,
-.navbar-expand-sm > .container-sm,
-.navbar-expand-sm > .container-md,
-.navbar-expand-sm > .container-lg,
-.navbar-expand-sm > .container-xl {
- flex-wrap: nowrap;
- }
- .navbar-expand-sm .navbar-collapse {
- display: flex !important;
- flex-basis: auto;
- }
- .navbar-expand-sm .navbar-toggler {
- display: none;
- }
-}
-@media (max-width: 767.98px) {
- .navbar-expand-md > .container,
-.navbar-expand-md > .container-fluid,
-.navbar-expand-md > .container-sm,
-.navbar-expand-md > .container-md,
-.navbar-expand-md > .container-lg,
-.navbar-expand-md > .container-xl {
- padding-right: 0;
- padding-left: 0;
- }
-}
-@media (min-width: 768px) {
- .navbar-expand-md {
- flex-flow: row nowrap;
- justify-content: flex-start;
- }
- .navbar-expand-md .navbar-nav {
- flex-direction: row;
- }
- .navbar-expand-md .navbar-nav .dropdown-menu {
- position: absolute;
- }
- .navbar-expand-md .navbar-nav .nav-link {
- padding-right: 0.5rem;
- padding-left: 0.5rem;
- }
- .navbar-expand-md > .container,
-.navbar-expand-md > .container-fluid,
-.navbar-expand-md > .container-sm,
-.navbar-expand-md > .container-md,
-.navbar-expand-md > .container-lg,
-.navbar-expand-md > .container-xl {
- flex-wrap: nowrap;
- }
- .navbar-expand-md .navbar-collapse {
- display: flex !important;
- flex-basis: auto;
- }
- .navbar-expand-md .navbar-toggler {
- display: none;
- }
+.breadcrumb-item + .breadcrumb-item::before {
+ float: left;
+ padding-right: 0.5rem;
+ color: #6c757d;
+ content: var(--bs-breadcrumb-divider, "/") /* rtl: var(--bs-breadcrumb-divider, "/") */;
}
-@media (max-width: 991.98px) {
- .navbar-expand-lg > .container,
-.navbar-expand-lg > .container-fluid,
-.navbar-expand-lg > .container-sm,
-.navbar-expand-lg > .container-md,
-.navbar-expand-lg > .container-lg,
-.navbar-expand-lg > .container-xl {
- padding-right: 0;
- padding-left: 0;
- }
+.breadcrumb-item.active {
+ color: #6c757d;
}
-@media (min-width: 992px) {
- .navbar-expand-lg {
- flex-flow: row nowrap;
- justify-content: flex-start;
- }
- .navbar-expand-lg .navbar-nav {
- flex-direction: row;
- }
- .navbar-expand-lg .navbar-nav .dropdown-menu {
- position: absolute;
- }
- .navbar-expand-lg .navbar-nav .nav-link {
- padding-right: 0.5rem;
- padding-left: 0.5rem;
- }
- .navbar-expand-lg > .container,
-.navbar-expand-lg > .container-fluid,
-.navbar-expand-lg > .container-sm,
-.navbar-expand-lg > .container-md,
-.navbar-expand-lg > .container-lg,
-.navbar-expand-lg > .container-xl {
- flex-wrap: nowrap;
- }
- .navbar-expand-lg .navbar-collapse {
- display: flex !important;
- flex-basis: auto;
- }
- .navbar-expand-lg .navbar-toggler {
- display: none;
- }
+
+.pagination {
+ display: flex;
+ padding-left: 0;
+ list-style: none;
}
-@media (max-width: 1199.98px) {
- .navbar-expand-xl > .container,
-.navbar-expand-xl > .container-fluid,
-.navbar-expand-xl > .container-sm,
-.navbar-expand-xl > .container-md,
-.navbar-expand-xl > .container-lg,
-.navbar-expand-xl > .container-xl {
- padding-right: 0;
- padding-left: 0;
- }
+
+.page-link {
+ position: relative;
+ display: block;
+ color: #005dc5;
+ text-decoration: none;
+ background-color: #fff;
+ border: 1px solid #dee2e6;
+ transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
-@media (min-width: 1200px) {
- .navbar-expand-xl {
- flex-flow: row nowrap;
- justify-content: flex-start;
- }
- .navbar-expand-xl .navbar-nav {
- flex-direction: row;
- }
- .navbar-expand-xl .navbar-nav .dropdown-menu {
- position: absolute;
- }
- .navbar-expand-xl .navbar-nav .nav-link {
- padding-right: 0.5rem;
- padding-left: 0.5rem;
- }
- .navbar-expand-xl > .container,
-.navbar-expand-xl > .container-fluid,
-.navbar-expand-xl > .container-sm,
-.navbar-expand-xl > .container-md,
-.navbar-expand-xl > .container-lg,
-.navbar-expand-xl > .container-xl {
- flex-wrap: nowrap;
- }
- .navbar-expand-xl .navbar-collapse {
- display: flex !important;
- flex-basis: auto;
- }
- .navbar-expand-xl .navbar-toggler {
- display: none;
+@media (prefers-reduced-motion: reduce) {
+ .page-link {
+ transition: none;
}
}
-.navbar-expand {
- flex-flow: row nowrap;
- justify-content: flex-start;
+.page-link:hover {
+ z-index: 2;
+ color: #004a9e;
+ background-color: #e9ecef;
+ border-color: #dee2e6;
}
-.navbar-expand > .container,
-.navbar-expand > .container-fluid,
-.navbar-expand > .container-sm,
-.navbar-expand > .container-md,
-.navbar-expand > .container-lg,
-.navbar-expand > .container-xl {
- padding-right: 0;
- padding-left: 0;
+.page-link:focus {
+ z-index: 3;
+ color: #004a9e;
+ background-color: #e9ecef;
+ outline: 0;
+ box-shadow: 0 0 0 0.25rem rgba(0, 93, 197, 0.25);
}
-.navbar-expand .navbar-nav {
- flex-direction: row;
+
+.page-item:not(:first-child) .page-link {
+ margin-left: -1px;
}
-.navbar-expand .navbar-nav .dropdown-menu {
- position: absolute;
+.page-item.active .page-link {
+ z-index: 3;
+ color: #fff;
+ background-color: #005dc5;
+ border-color: #005dc5;
}
-.navbar-expand .navbar-nav .nav-link {
- padding-right: 0.5rem;
- padding-left: 0.5rem;
+.page-item.disabled .page-link {
+ color: #6c757d;
+ pointer-events: none;
+ background-color: #fff;
+ border-color: #dee2e6;
}
-.navbar-expand > .container,
-.navbar-expand > .container-fluid,
-.navbar-expand > .container-sm,
-.navbar-expand > .container-md,
-.navbar-expand > .container-lg,
-.navbar-expand > .container-xl {
- flex-wrap: nowrap;
+
+.page-link {
+ padding: 0.375rem 0.75rem;
}
-.navbar-expand .navbar-collapse {
- display: flex !important;
- flex-basis: auto;
+
+.page-item:first-child .page-link {
+ border-top-left-radius: 0.25rem;
+ border-bottom-left-radius: 0.25rem;
}
-.navbar-expand .navbar-toggler {
- display: none;
+.page-item:last-child .page-link {
+ border-top-right-radius: 0.25rem;
+ border-bottom-right-radius: 0.25rem;
}
-.navbar-light .navbar-brand {
- color: rgba(0, 0, 0, 0.9);
+.pagination-lg .page-link {
+ padding: 0.75rem 1.5rem;
+ font-size: 1.25rem;
}
-.navbar-light .navbar-brand:hover, .navbar-light .navbar-brand:focus {
- color: rgba(0, 0, 0, 0.9);
+.pagination-lg .page-item:first-child .page-link {
+ border-top-left-radius: 0.3rem;
+ border-bottom-left-radius: 0.3rem;
}
-.navbar-light .navbar-nav .nav-link {
- color: rgba(0, 0, 0, 0.5);
+.pagination-lg .page-item:last-child .page-link {
+ border-top-right-radius: 0.3rem;
+ border-bottom-right-radius: 0.3rem;
}
-.navbar-light .navbar-nav .nav-link:hover, .navbar-light .navbar-nav .nav-link:focus {
- color: rgba(0, 0, 0, 0.7);
+
+.pagination-sm .page-link {
+ padding: 0.25rem 0.5rem;
+ font-size: 0.875rem;
}
-.navbar-light .navbar-nav .nav-link.disabled {
- color: rgba(0, 0, 0, 0.3);
+.pagination-sm .page-item:first-child .page-link {
+ border-top-left-radius: 0.2rem;
+ border-bottom-left-radius: 0.2rem;
}
-.navbar-light .navbar-nav .show > .nav-link,
-.navbar-light .navbar-nav .active > .nav-link,
-.navbar-light .navbar-nav .nav-link.show,
-.navbar-light .navbar-nav .nav-link.active {
- color: rgba(0, 0, 0, 0.9);
+.pagination-sm .page-item:last-child .page-link {
+ border-top-right-radius: 0.2rem;
+ border-bottom-right-radius: 0.2rem;
}
-.navbar-light .navbar-toggler {
- color: rgba(0, 0, 0, 0.5);
- border-color: rgba(0, 0, 0, 0.1);
+
+.badge {
+ display: inline-block;
+ padding: 0.35em 0.65em;
+ font-size: 0.75em;
+ font-weight: 700;
+ line-height: 1;
+ color: #fff;
+ text-align: center;
+ white-space: nowrap;
+ vertical-align: baseline;
+ border-radius: 0.25rem;
}
-.navbar-light .navbar-toggler-icon {
- background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280, 0, 0, 0.5%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
+.badge:empty {
+ display: none;
}
-.navbar-light .navbar-text {
- color: rgba(0, 0, 0, 0.5);
+
+.btn .badge {
+ position: relative;
+ top: -1px;
}
-.navbar-light .navbar-text a {
- color: rgba(0, 0, 0, 0.9);
+
+.alert {
+ position: relative;
+ padding: 1rem 1rem;
+ margin-bottom: 1rem;
+ border: 1px solid transparent;
+ border-radius: 0.25rem;
}
-.navbar-light .navbar-text a:hover, .navbar-light .navbar-text a:focus {
- color: rgba(0, 0, 0, 0.9);
+
+.alert-heading {
+ color: inherit;
}
-.navbar-dark .navbar-brand {
- color: #fff;
+.alert-link {
+ font-weight: 700;
}
-.navbar-dark .navbar-brand:hover, .navbar-dark .navbar-brand:focus {
- color: #fff;
+
+.alert-dismissible {
+ padding-right: 3rem;
}
-.navbar-dark .navbar-nav .nav-link {
- color: rgba(255, 255, 255, 0.5);
+.alert-dismissible .btn-close {
+ position: absolute;
+ top: 0;
+ right: 0;
+ z-index: 2;
+ padding: 1.25rem 1rem;
}
-.navbar-dark .navbar-nav .nav-link:hover, .navbar-dark .navbar-nav .nav-link:focus {
- color: rgba(255, 255, 255, 0.75);
+
+.alert-primary {
+ color: #003876;
+ background-color: #ccdff3;
+ border-color: #b3ceee;
}
-.navbar-dark .navbar-nav .nav-link.disabled {
- color: rgba(255, 255, 255, 0.25);
+.alert-primary .alert-link {
+ color: #002d5e;
}
-.navbar-dark .navbar-nav .show > .nav-link,
-.navbar-dark .navbar-nav .active > .nav-link,
-.navbar-dark .navbar-nav .nav-link.show,
-.navbar-dark .navbar-nav .nav-link.active {
- color: #fff;
+
+.alert-secondary {
+ color: #41464b;
+ background-color: #e2e3e5;
+ border-color: #d3d6d8;
}
-.navbar-dark .navbar-toggler {
- color: rgba(255, 255, 255, 0.5);
- border-color: rgba(255, 255, 255, 0.1);
+.alert-secondary .alert-link {
+ color: #34383c;
}
-.navbar-dark .navbar-toggler-icon {
- background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.5%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
+
+.alert-success {
+ color: #3c5000;
+ background-color: #eaf4cc;
+ border-color: #e0efb3;
}
-.navbar-dark .navbar-text {
- color: rgba(255, 255, 255, 0.5);
+.alert-success .alert-link {
+ color: #304000;
}
-.navbar-dark .navbar-text a {
- color: #fff;
+
+.alert-info {
+ color: #005b86;
+ background-color: #cceaf9;
+ border-color: #b3e0f5;
}
-.navbar-dark .navbar-text a:hover, .navbar-dark .navbar-text a:focus {
- color: #fff;
+.alert-info .alert-link {
+ color: #00496b;
}
-.card {
- position: relative;
- display: flex;
- flex-direction: column;
- min-width: 0;
- word-wrap: break-word;
- background-color: #fff;
- background-clip: border-box;
- border: 1px solid rgba(0, 0, 0, 0.125);
- border-radius: 0.25rem;
-}
-.card > hr {
- margin-right: 0;
- margin-left: 0;
-}
-.card > .list-group {
- border-top: inherit;
- border-bottom: inherit;
+.alert-warning {
+ color: #664d00;
+ background-color: #fff2cc;
+ border-color: #ffecb3;
}
-.card > .list-group:first-child {
- border-top-width: 0;
- border-top-left-radius: calc(0.25rem - 1px);
- border-top-right-radius: calc(0.25rem - 1px);
+.alert-warning .alert-link {
+ color: #523e00;
}
-.card > .list-group:last-child {
- border-bottom-width: 0;
- border-bottom-right-radius: calc(0.25rem - 1px);
- border-bottom-left-radius: calc(0.25rem - 1px);
+
+.alert-danger {
+ color: #8b260e;
+ background-color: #fad9d1;
+ border-color: #f8c6ba;
}
-.card > .card-header + .list-group,
-.card > .list-group + .card-footer {
- border-top: 0;
+.alert-danger .alert-link {
+ color: #6f1e0b;
}
-.card-body {
- flex: 1 1 auto;
- min-height: 1px;
- padding: 1.25rem;
+.alert-light {
+ color: #636464;
+ background-color: #fefefe;
+ border-color: #fdfdfe;
}
-
-.card-title {
- margin-bottom: 0.75rem;
+.alert-light .alert-link {
+ color: #4f5050;
}
-.card-subtitle {
- margin-top: -0.375rem;
- margin-bottom: 0;
+.alert-dark {
+ color: #141619;
+ background-color: #d3d3d4;
+ border-color: #bcbebf;
}
-
-.card-text:last-child {
- margin-bottom: 0;
+.alert-dark .alert-link {
+ color: #101214;
}
-.card-link:hover {
- text-decoration: none;
-}
-.card-link + .card-link {
- margin-left: 1.25rem;
+@-webkit-keyframes progress-bar-stripes {
+ 0% {
+ background-position-x: 1rem;
+ }
}
-.card-header {
- padding: 0.75rem 1.25rem;
- margin-bottom: 0;
- background-color: rgba(0, 0, 0, 0.03);
- border-bottom: 1px solid rgba(0, 0, 0, 0.125);
+@keyframes progress-bar-stripes {
+ 0% {
+ background-position-x: 1rem;
+ }
}
-.card-header:first-child {
- border-radius: calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0;
+.progress {
+ display: flex;
+ height: 1rem;
+ overflow: hidden;
+ font-size: 0.75rem;
+ background-color: #e9ecef;
+ border-radius: 0.25rem;
}
-.card-footer {
- padding: 0.75rem 1.25rem;
- background-color: rgba(0, 0, 0, 0.03);
- border-top: 1px solid rgba(0, 0, 0, 0.125);
+.progress-bar {
+ display: flex;
+ flex-direction: column;
+ justify-content: center;
+ overflow: hidden;
+ color: #fff;
+ text-align: center;
+ white-space: nowrap;
+ background-color: #005dc5;
+ transition: width 0.6s ease;
}
-.card-footer:last-child {
- border-radius: 0 0 calc(0.25rem - 1px) calc(0.25rem - 1px);
+@media (prefers-reduced-motion: reduce) {
+ .progress-bar {
+ transition: none;
+ }
}
-.card-header-tabs {
- margin-right: -0.625rem;
- margin-bottom: -0.75rem;
- margin-left: -0.625rem;
- border-bottom: 0;
+.progress-bar-striped {
+ background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+ background-size: 1rem 1rem;
}
-.card-header-pills {
- margin-right: -0.625rem;
- margin-left: -0.625rem;
+.progress-bar-animated {
+ -webkit-animation: 1s linear infinite progress-bar-stripes;
+ animation: 1s linear infinite progress-bar-stripes;
+}
+@media (prefers-reduced-motion: reduce) {
+ .progress-bar-animated {
+ -webkit-animation: none;
+ animation: none;
+ }
}
-.card-img-overlay {
- position: absolute;
- top: 0;
- right: 0;
- bottom: 0;
- left: 0;
- padding: 1.25rem;
- border-radius: calc(0.25rem - 1px);
+.list-group {
+ display: flex;
+ flex-direction: column;
+ padding-left: 0;
+ margin-bottom: 0;
+ border-radius: 0.25rem;
}
-.card-img,
-.card-img-top,
-.card-img-bottom {
- flex-shrink: 0;
+.list-group-item-action {
width: 100%;
+ color: #495057;
+ text-align: inherit;
}
-
-.card-img,
-.card-img-top {
- border-top-left-radius: calc(0.25rem - 1px);
- border-top-right-radius: calc(0.25rem - 1px);
+.list-group-item-action:hover, .list-group-item-action:focus {
+ z-index: 1;
+ color: #495057;
+ text-decoration: none;
+ background-color: #f8f9fa;
}
-
-.card-img,
-.card-img-bottom {
- border-bottom-right-radius: calc(0.25rem - 1px);
- border-bottom-left-radius: calc(0.25rem - 1px);
+.list-group-item-action:active {
+ color: #212529;
+ background-color: #e9ecef;
}
-.card-deck .card {
- margin-bottom: 15px;
+.list-group-item {
+ position: relative;
+ display: block;
+ padding: 0.5rem 1rem;
+ text-decoration: none;
+ background-color: #fff;
+ border: 1px solid rgba(0, 0, 0, 0.125);
}
-@media (min-width: 576px) {
- .card-deck {
- display: flex;
- flex-flow: row wrap;
- margin-right: -15px;
- margin-left: -15px;
- }
- .card-deck .card {
- flex: 1 0 0%;
- margin-right: 15px;
- margin-bottom: 0;
- margin-left: 15px;
- }
+.list-group-item:first-child {
+ border-top-left-radius: inherit;
+ border-top-right-radius: inherit;
}
-
-.card-group > .card {
- margin-bottom: 15px;
+.list-group-item:last-child {
+ border-bottom-right-radius: inherit;
+ border-bottom-left-radius: inherit;
}
-@media (min-width: 576px) {
- .card-group {
- display: flex;
- flex-flow: row wrap;
- }
- .card-group > .card {
- flex: 1 0 0%;
- margin-bottom: 0;
- }
- .card-group > .card + .card {
- margin-left: 0;
- border-left: 0;
- }
- .card-group > .card:not(:last-child) {
- border-top-right-radius: 0;
- border-bottom-right-radius: 0;
- }
- .card-group > .card:not(:last-child) .card-img-top,
-.card-group > .card:not(:last-child) .card-header {
- border-top-right-radius: 0;
- }
- .card-group > .card:not(:last-child) .card-img-bottom,
-.card-group > .card:not(:last-child) .card-footer {
- border-bottom-right-radius: 0;
- }
- .card-group > .card:not(:first-child) {
- border-top-left-radius: 0;
- border-bottom-left-radius: 0;
- }
- .card-group > .card:not(:first-child) .card-img-top,
-.card-group > .card:not(:first-child) .card-header {
- border-top-left-radius: 0;
- }
- .card-group > .card:not(:first-child) .card-img-bottom,
-.card-group > .card:not(:first-child) .card-footer {
- border-bottom-left-radius: 0;
- }
+.list-group-item.disabled, .list-group-item:disabled {
+ color: #6c757d;
+ pointer-events: none;
+ background-color: #fff;
}
-
-.card-columns .card {
- margin-bottom: 0.75rem;
+.list-group-item.active {
+ z-index: 2;
+ color: #fff;
+ background-color: #005dc5;
+ border-color: #005dc5;
}
-@media (min-width: 576px) {
- .card-columns {
- -moz-column-count: 3;
- column-count: 3;
- -moz-column-gap: 1.25rem;
- column-gap: 1.25rem;
- orphans: 1;
- widows: 1;
- }
- .card-columns .card {
- display: inline-block;
- width: 100%;
- }
+.list-group-item + .list-group-item {
+ border-top-width: 0;
+}
+.list-group-item + .list-group-item.active {
+ margin-top: -1px;
+ border-top-width: 1px;
}
-.accordion {
- overflow-anchor: none;
+.list-group-horizontal {
+ flex-direction: row;
}
-.accordion > .card {
- overflow: hidden;
+.list-group-horizontal > .list-group-item:first-child {
+ border-bottom-left-radius: 0.25rem;
+ border-top-right-radius: 0;
}
-.accordion > .card:not(:last-of-type) {
- border-bottom: 0;
- border-bottom-right-radius: 0;
+.list-group-horizontal > .list-group-item:last-child {
+ border-top-right-radius: 0.25rem;
border-bottom-left-radius: 0;
}
-.accordion > .card:not(:first-of-type) {
- border-top-left-radius: 0;
- border-top-right-radius: 0;
+.list-group-horizontal > .list-group-item.active {
+ margin-top: 0;
}
-.accordion > .card > .card-header {
- border-radius: 0;
- margin-bottom: -1px;
+.list-group-horizontal > .list-group-item + .list-group-item {
+ border-top-width: 1px;
+ border-left-width: 0;
}
-
-.breadcrumb {
- display: flex;
- flex-wrap: wrap;
- padding: 0.75rem 1rem;
- margin-bottom: 1rem;
- list-style: none;
- background-color: #e9ecef;
- border-radius: 0.25rem;
+.list-group-horizontal > .list-group-item + .list-group-item.active {
+ margin-left: -1px;
+ border-left-width: 1px;
}
-.breadcrumb-item {
- display: flex;
+@media (min-width: 576px) {
+ .list-group-horizontal-sm {
+ flex-direction: row;
+ }
+ .list-group-horizontal-sm > .list-group-item:first-child {
+ border-bottom-left-radius: 0.25rem;
+ border-top-right-radius: 0;
+ }
+ .list-group-horizontal-sm > .list-group-item:last-child {
+ border-top-right-radius: 0.25rem;
+ border-bottom-left-radius: 0;
+ }
+ .list-group-horizontal-sm > .list-group-item.active {
+ margin-top: 0;
+ }
+ .list-group-horizontal-sm > .list-group-item + .list-group-item {
+ border-top-width: 1px;
+ border-left-width: 0;
+ }
+ .list-group-horizontal-sm > .list-group-item + .list-group-item.active {
+ margin-left: -1px;
+ border-left-width: 1px;
+ }
}
-.breadcrumb-item + .breadcrumb-item {
- padding-left: 0.5rem;
+@media (min-width: 768px) {
+ .list-group-horizontal-md {
+ flex-direction: row;
+ }
+ .list-group-horizontal-md > .list-group-item:first-child {
+ border-bottom-left-radius: 0.25rem;
+ border-top-right-radius: 0;
+ }
+ .list-group-horizontal-md > .list-group-item:last-child {
+ border-top-right-radius: 0.25rem;
+ border-bottom-left-radius: 0;
+ }
+ .list-group-horizontal-md > .list-group-item.active {
+ margin-top: 0;
+ }
+ .list-group-horizontal-md > .list-group-item + .list-group-item {
+ border-top-width: 1px;
+ border-left-width: 0;
+ }
+ .list-group-horizontal-md > .list-group-item + .list-group-item.active {
+ margin-left: -1px;
+ border-left-width: 1px;
+ }
}
-.breadcrumb-item + .breadcrumb-item::before {
- display: inline-block;
- padding-right: 0.5rem;
- color: #6c757d;
- content: "/";
+@media (min-width: 992px) {
+ .list-group-horizontal-lg {
+ flex-direction: row;
+ }
+ .list-group-horizontal-lg > .list-group-item:first-child {
+ border-bottom-left-radius: 0.25rem;
+ border-top-right-radius: 0;
+ }
+ .list-group-horizontal-lg > .list-group-item:last-child {
+ border-top-right-radius: 0.25rem;
+ border-bottom-left-radius: 0;
+ }
+ .list-group-horizontal-lg > .list-group-item.active {
+ margin-top: 0;
+ }
+ .list-group-horizontal-lg > .list-group-item + .list-group-item {
+ border-top-width: 1px;
+ border-left-width: 0;
+ }
+ .list-group-horizontal-lg > .list-group-item + .list-group-item.active {
+ margin-left: -1px;
+ border-left-width: 1px;
+ }
}
-.breadcrumb-item + .breadcrumb-item:hover::before {
- text-decoration: underline;
+@media (min-width: 1200px) {
+ .list-group-horizontal-xl {
+ flex-direction: row;
+ }
+ .list-group-horizontal-xl > .list-group-item:first-child {
+ border-bottom-left-radius: 0.25rem;
+ border-top-right-radius: 0;
+ }
+ .list-group-horizontal-xl > .list-group-item:last-child {
+ border-top-right-radius: 0.25rem;
+ border-bottom-left-radius: 0;
+ }
+ .list-group-horizontal-xl > .list-group-item.active {
+ margin-top: 0;
+ }
+ .list-group-horizontal-xl > .list-group-item + .list-group-item {
+ border-top-width: 1px;
+ border-left-width: 0;
+ }
+ .list-group-horizontal-xl > .list-group-item + .list-group-item.active {
+ margin-left: -1px;
+ border-left-width: 1px;
+ }
}
-.breadcrumb-item + .breadcrumb-item:hover::before {
- text-decoration: none;
+.list-group-flush {
+ border-radius: 0;
}
-.breadcrumb-item.active {
- color: #6c757d;
+.list-group-flush > .list-group-item {
+ border-width: 0 0 1px;
}
-
-.pagination {
- display: flex;
- padding-left: 0;
- list-style: none;
- border-radius: 0.25rem;
+.list-group-flush > .list-group-item:last-child {
+ border-bottom-width: 0;
}
-.page-link {
- position: relative;
- display: block;
- padding: 0.5rem 0.75rem;
- margin-left: -1px;
- line-height: 1.25;
- color: #0078d7;
- background-color: #fff;
- border: 1px solid #dee2e6;
+.list-group-item-primary {
+ color: #003876;
+ background-color: #ccdff3;
}
-.page-link:hover {
- z-index: 2;
- color: #004d8b;
- text-decoration: none;
- background-color: #e9ecef;
- border-color: #dee2e6;
+.list-group-item-primary.list-group-item-action:hover, .list-group-item-primary.list-group-item-action:focus {
+ color: #003876;
+ background-color: #b8c9db;
}
-.page-link:focus {
- z-index: 3;
- outline: 0;
- box-shadow: 0 0 0 0.2rem rgba(0, 120, 215, 0.25);
+.list-group-item-primary.list-group-item-action.active {
+ color: #fff;
+ background-color: #003876;
+ border-color: #003876;
}
-.page-item:first-child .page-link {
- margin-left: 0;
- border-top-left-radius: 0.25rem;
- border-bottom-left-radius: 0.25rem;
+.list-group-item-secondary {
+ color: #41464b;
+ background-color: #e2e3e5;
}
-.page-item:last-child .page-link {
- border-top-right-radius: 0.25rem;
- border-bottom-right-radius: 0.25rem;
+.list-group-item-secondary.list-group-item-action:hover, .list-group-item-secondary.list-group-item-action:focus {
+ color: #41464b;
+ background-color: #cbccce;
}
-.page-item.active .page-link {
- z-index: 3;
+.list-group-item-secondary.list-group-item-action.active {
color: #fff;
- background-color: #0078d7;
- border-color: #0078d7;
-}
-.page-item.disabled .page-link {
- color: #6c757d;
- pointer-events: none;
- cursor: auto;
- background-color: #fff;
- border-color: #dee2e6;
+ background-color: #41464b;
+ border-color: #41464b;
}
-.pagination-lg .page-link {
- padding: 0.75rem 1.5rem;
- font-size: 1.25rem;
- line-height: 1.5;
+.list-group-item-success {
+ color: #3c5000;
+ background-color: #eaf4cc;
}
-.pagination-lg .page-item:first-child .page-link {
- border-top-left-radius: 0.3rem;
- border-bottom-left-radius: 0.3rem;
+.list-group-item-success.list-group-item-action:hover, .list-group-item-success.list-group-item-action:focus {
+ color: #3c5000;
+ background-color: #d3dcb8;
}
-.pagination-lg .page-item:last-child .page-link {
- border-top-right-radius: 0.3rem;
- border-bottom-right-radius: 0.3rem;
+.list-group-item-success.list-group-item-action.active {
+ color: #fff;
+ background-color: #3c5000;
+ border-color: #3c5000;
}
-.pagination-sm .page-link {
- padding: 0.25rem 0.5rem;
- font-size: 0.875rem;
- line-height: 1.5;
+.list-group-item-info {
+ color: #005b86;
+ background-color: #cceaf9;
}
-.pagination-sm .page-item:first-child .page-link {
- border-top-left-radius: 0.2rem;
- border-bottom-left-radius: 0.2rem;
+.list-group-item-info.list-group-item-action:hover, .list-group-item-info.list-group-item-action:focus {
+ color: #005b86;
+ background-color: #b8d3e0;
}
-.pagination-sm .page-item:last-child .page-link {
- border-top-right-radius: 0.2rem;
- border-bottom-right-radius: 0.2rem;
+.list-group-item-info.list-group-item-action.active {
+ color: #fff;
+ background-color: #005b86;
+ border-color: #005b86;
}
-.badge {
- display: inline-block;
- padding: 0.25em 0.4em;
- font-size: 75%;
- font-weight: 700;
- line-height: 1;
- text-align: center;
- white-space: nowrap;
- vertical-align: baseline;
- border-radius: 0.25rem;
- transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
-}
-@media (prefers-reduced-motion: reduce) {
- .badge {
- transition: none;
- }
-}
-a.badge:hover, a.badge:focus {
- text-decoration: none;
+.list-group-item-warning {
+ color: #664d00;
+ background-color: #fff2cc;
}
-
-.badge:empty {
- display: none;
+.list-group-item-warning.list-group-item-action:hover, .list-group-item-warning.list-group-item-action:focus {
+ color: #664d00;
+ background-color: #e6dab8;
}
-
-.btn .badge {
- position: relative;
- top: -1px;
+.list-group-item-warning.list-group-item-action.active {
+ color: #fff;
+ background-color: #664d00;
+ border-color: #664d00;
}
-.badge-pill {
- padding-right: 0.6em;
- padding-left: 0.6em;
- border-radius: 10rem;
+.list-group-item-danger {
+ color: #8b260e;
+ background-color: #fad9d1;
}
-
-.badge-primary {
- color: #fff;
- background-color: #0078d7;
+.list-group-item-danger.list-group-item-action:hover, .list-group-item-danger.list-group-item-action:focus {
+ color: #8b260e;
+ background-color: #e1c3bc;
}
-a.badge-primary:hover, a.badge-primary:focus {
+.list-group-item-danger.list-group-item-action.active {
color: #fff;
- background-color: #005ca4;
-}
-a.badge-primary:focus, a.badge-primary.focus {
- outline: 0;
- box-shadow: 0 0 0 0.2rem rgba(0, 120, 215, 0.5);
+ background-color: #8b260e;
+ border-color: #8b260e;
}
-.badge-secondary {
- color: #fff;
- background-color: #6c757d;
+.list-group-item-light {
+ color: #636464;
+ background-color: #fefefe;
}
-a.badge-secondary:hover, a.badge-secondary:focus {
- color: #fff;
- background-color: #545b62;
+.list-group-item-light.list-group-item-action:hover, .list-group-item-light.list-group-item-action:focus {
+ color: #636464;
+ background-color: #e5e5e5;
}
-a.badge-secondary:focus, a.badge-secondary.focus {
- outline: 0;
- box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);
+.list-group-item-light.list-group-item-action.active {
+ color: #fff;
+ background-color: #636464;
+ border-color: #636464;
}
-.badge-success {
- color: #212529;
- background-color: #97c800;
+.list-group-item-dark {
+ color: #141619;
+ background-color: #d3d3d4;
}
-a.badge-success:hover, a.badge-success:focus {
- color: #212529;
- background-color: #709500;
+.list-group-item-dark.list-group-item-action:hover, .list-group-item-dark.list-group-item-action:focus {
+ color: #141619;
+ background-color: #bebebf;
}
-a.badge-success:focus, a.badge-success.focus {
- outline: 0;
- box-shadow: 0 0 0 0.2rem rgba(151, 200, 0, 0.5);
+.list-group-item-dark.list-group-item-action.active {
+ color: #fff;
+ background-color: #141619;
+ border-color: #141619;
}
-.badge-info {
- color: #fff;
- background-color: #0098df;
+.btn-close {
+ box-sizing: content-box;
+ width: 1em;
+ height: 1em;
+ padding: 0.25em 0.25em;
+ color: #000;
+ background: transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat;
+ border: 0;
+ border-radius: 0.25rem;
+ opacity: 0.5;
}
-a.badge-info:hover, a.badge-info:focus {
- color: #fff;
- background-color: #0075ac;
+.btn-close:hover {
+ color: #000;
+ text-decoration: none;
+ opacity: 0.75;
}
-a.badge-info:focus, a.badge-info.focus {
- outline: 0;
- box-shadow: 0 0 0 0.2rem rgba(0, 152, 223, 0.5);
+.btn-close:focus {
+ outline: none;
+ box-shadow: 0 0 0 0.25rem rgba(0, 93, 197, 0.25);
+ opacity: 1;
+}
+.btn-close:disabled, .btn-close.disabled {
+ pointer-events: none;
+ -webkit-user-select: none;
+ -moz-user-select: none;
+ -ms-user-select: none;
+ user-select: none;
+ opacity: 0.25;
}
-.badge-warning {
- color: #212529;
- background-color: #ffc000;
-}
-a.badge-warning:hover, a.badge-warning:focus {
- color: #212529;
- background-color: #cc9a00;
-}
-a.badge-warning:focus, a.badge-warning.focus {
- outline: 0;
- box-shadow: 0 0 0 0.2rem rgba(255, 192, 0, 0.5);
+.btn-close-white {
+ filter: invert(1) grayscale(100%) brightness(200%);
}
-.badge-danger {
- color: #fff;
- background-color: #e74018;
+.toast {
+ width: 350px;
+ max-width: 100%;
+ font-size: 0.875rem;
+ pointer-events: auto;
+ background-color: rgba(255, 255, 255, 0.85);
+ background-clip: padding-box;
+ border: 1px solid rgba(0, 0, 0, 0.1);
+ box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
+ border-radius: 0.25rem;
}
-a.badge-danger:hover, a.badge-danger:focus {
- color: #fff;
- background-color: #b93313;
+.toast:not(.showing):not(.show) {
+ opacity: 0;
}
-a.badge-danger:focus, a.badge-danger.focus {
- outline: 0;
- box-shadow: 0 0 0 0.2rem rgba(231, 64, 24, 0.5);
+.toast.hide {
+ display: none;
}
-.badge-light {
- color: #212529;
- background-color: #f8f9fa;
-}
-a.badge-light:hover, a.badge-light:focus {
- color: #212529;
- background-color: #dae0e5;
+.toast-container {
+ width: -webkit-max-content;
+ width: -moz-max-content;
+ width: max-content;
+ max-width: 100%;
+ pointer-events: none;
}
-a.badge-light:focus, a.badge-light.focus {
- outline: 0;
- box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);
+.toast-container > :not(:last-child) {
+ margin-bottom: 0.75rem;
}
-.badge-dark {
- color: #fff;
- background-color: #343a40;
+.toast-header {
+ display: flex;
+ align-items: center;
+ padding: 0.5rem 0.75rem;
+ color: #6c757d;
+ background-color: rgba(255, 255, 255, 0.85);
+ background-clip: padding-box;
+ border-bottom: 1px solid rgba(0, 0, 0, 0.05);
+ border-top-left-radius: calc(0.25rem - 1px);
+ border-top-right-radius: calc(0.25rem - 1px);
}
-a.badge-dark:hover, a.badge-dark:focus {
- color: #fff;
- background-color: #1d2124;
+.toast-header .btn-close {
+ margin-right: -0.375rem;
+ margin-left: 0.75rem;
}
-a.badge-dark:focus, a.badge-dark.focus {
- outline: 0;
- box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);
+
+.toast-body {
+ padding: 0.75rem;
}
-.jumbotron {
- padding: 2rem 1rem;
- margin-bottom: 2rem;
- background-color: #e9ecef;
- border-radius: 0.3rem;
+.modal-open {
+ overflow: hidden;
}
-@media (min-width: 576px) {
- .jumbotron {
- padding: 4rem 2rem;
- }
+.modal-open .modal {
+ overflow-x: hidden;
+ overflow-y: auto;
}
-.jumbotron-fluid {
- padding-right: 0;
- padding-left: 0;
- border-radius: 0;
+.modal {
+ position: fixed;
+ top: 0;
+ left: 0;
+ z-index: 1050;
+ display: none;
+ width: 100%;
+ height: 100%;
+ overflow: hidden;
+ outline: 0;
}
-.alert {
+.modal-dialog {
position: relative;
- padding: 0.75rem 1.25rem;
- margin-bottom: 1rem;
- border: 1px solid transparent;
- border-radius: 0.25rem;
+ width: auto;
+ margin: 0.5rem;
+ pointer-events: none;
}
-
-.alert-heading {
- color: inherit;
+.modal.fade .modal-dialog {
+ transition: transform 0.3s ease-out;
+ transform: translate(0, -50px);
}
-
-.alert-link {
- font-weight: 700;
+@media (prefers-reduced-motion: reduce) {
+ .modal.fade .modal-dialog {
+ transition: none;
+ }
}
-
-.alert-dismissible {
- padding-right: 4rem;
+.modal.show .modal-dialog {
+ transform: none;
}
-.alert-dismissible .close {
- position: absolute;
- top: 0;
- right: 0;
- z-index: 2;
- padding: 0.75rem 1.25rem;
- color: inherit;
+.modal.modal-static .modal-dialog {
+ transform: scale(1.02);
}
-.alert-primary {
- color: #003e70;
- background-color: #cce4f7;
- border-color: #b8d9f4;
+.modal-dialog-scrollable {
+ height: calc(100% - 1rem);
}
-.alert-primary hr {
- border-top-color: #a2cdf1;
+.modal-dialog-scrollable .modal-content {
+ max-height: 100%;
+ overflow: hidden;
}
-.alert-primary .alert-link {
- color: #00223d;
+.modal-dialog-scrollable .modal-body {
+ overflow-y: auto;
}
-.alert-secondary {
- color: #383d41;
- background-color: #e2e3e5;
- border-color: #d6d8db;
-}
-.alert-secondary hr {
- border-top-color: #c8cbcf;
+.modal-dialog-centered {
+ display: flex;
+ align-items: center;
+ min-height: calc(100% - 1rem);
}
-.alert-secondary .alert-link {
- color: #202326;
+
+.modal-content {
+ position: relative;
+ display: flex;
+ flex-direction: column;
+ width: 100%;
+ pointer-events: auto;
+ background-color: #fff;
+ background-clip: padding-box;
+ border: 1px solid rgba(0, 0, 0, 0.2);
+ border-radius: 0.3rem;
+ outline: 0;
}
-.alert-success {
- color: #4f6800;
- background-color: #eaf4cc;
- border-color: #e2f0b8;
+.modal-backdrop {
+ position: fixed;
+ top: 0;
+ left: 0;
+ z-index: 1040;
+ width: 100vw;
+ height: 100vh;
+ background-color: #000;
}
-.alert-success hr {
- border-top-color: #d9eca3;
+.modal-backdrop.fade {
+ opacity: 0;
}
-.alert-success .alert-link {
- color: #283500;
+.modal-backdrop.show {
+ opacity: 0.5;
}
-.alert-info {
- color: #004f74;
- background-color: #cceaf9;
- border-color: #b8e2f6;
+.modal-header {
+ display: flex;
+ flex-shrink: 0;
+ align-items: center;
+ justify-content: space-between;
+ padding: 1rem 1rem;
+ border-bottom: 1px solid #dee2e6;
+ border-top-left-radius: calc(0.3rem - 1px);
+ border-top-right-radius: calc(0.3rem - 1px);
}
-.alert-info hr {
- border-top-color: #a1d9f3;
+.modal-header .btn-close {
+ padding: 0.5rem 0.5rem;
+ margin: -0.5rem -0.5rem -0.5rem auto;
}
-.alert-info .alert-link {
- color: #002c41;
+
+.modal-title {
+ margin-bottom: 0;
+ line-height: 1.6;
}
-.alert-warning {
- color: #856400;
- background-color: #fff2cc;
- border-color: #ffedb8;
+.modal-body {
+ position: relative;
+ flex: 1 1 auto;
+ padding: 1rem;
}
-.alert-warning hr {
- border-top-color: #ffe79f;
+
+.modal-footer {
+ display: flex;
+ flex-wrap: wrap;
+ flex-shrink: 0;
+ align-items: center;
+ justify-content: flex-end;
+ padding: 0.75rem;
+ border-top: 1px solid #dee2e6;
+ border-bottom-right-radius: calc(0.3rem - 1px);
+ border-bottom-left-radius: calc(0.3rem - 1px);
}
-.alert-warning .alert-link {
- color: #523e00;
+.modal-footer > * {
+ margin: 0.25rem;
}
-.alert-danger {
- color: #78210c;
- background-color: #fad9d1;
- border-color: #f8cabe;
+.modal-scrollbar-measure {
+ position: absolute;
+ top: -9999px;
+ width: 50px;
+ height: 50px;
+ overflow: scroll;
}
-.alert-danger hr {
- border-top-color: #f6b7a7;
+
+@media (min-width: 576px) {
+ .modal-dialog {
+ max-width: 500px;
+ margin: 1.75rem auto;
+ }
+
+ .modal-dialog-scrollable {
+ height: calc(100% - 3.5rem);
+ }
+
+ .modal-dialog-centered {
+ min-height: calc(100% - 3.5rem);
+ }
+
+ .modal-sm {
+ max-width: 300px;
+ }
}
-.alert-danger .alert-link {
- color: #4a1407;
+@media (min-width: 992px) {
+ .modal-lg,
+.modal-xl {
+ max-width: 800px;
+ }
}
-
-.alert-light {
- color: #818182;
- background-color: #fefefe;
- border-color: #fdfdfe;
+@media (min-width: 1200px) {
+ .modal-xl {
+ max-width: 1140px;
+ }
}
-.alert-light hr {
- border-top-color: #ececf6;
+.modal-fullscreen {
+ width: 100vw;
+ max-width: none;
+ height: 100%;
+ margin: 0;
}
-.alert-light .alert-link {
- color: #686868;
+.modal-fullscreen .modal-content {
+ height: 100%;
+ border: 0;
+ border-radius: 0;
}
-
-.alert-dark {
- color: #1b1e21;
- background-color: #d6d8d9;
- border-color: #c6c8ca;
+.modal-fullscreen .modal-header {
+ border-radius: 0;
}
-.alert-dark hr {
- border-top-color: #b9bbbe;
+.modal-fullscreen .modal-body {
+ overflow-y: auto;
}
-.alert-dark .alert-link {
- color: #040505;
+.modal-fullscreen .modal-footer {
+ border-radius: 0;
}
-@-webkit-keyframes progress-bar-stripes {
- from {
- background-position: 1rem 0;
+@media (max-width: 575.98px) {
+ .modal-fullscreen-sm-down {
+ width: 100vw;
+ max-width: none;
+ height: 100%;
+ margin: 0;
+ }
+ .modal-fullscreen-sm-down .modal-content {
+ height: 100%;
+ border: 0;
+ border-radius: 0;
}
- to {
- background-position: 0 0;
+ .modal-fullscreen-sm-down .modal-header {
+ border-radius: 0;
}
-}
-
-@keyframes progress-bar-stripes {
- from {
- background-position: 1rem 0;
+ .modal-fullscreen-sm-down .modal-body {
+ overflow-y: auto;
}
- to {
- background-position: 0 0;
+ .modal-fullscreen-sm-down .modal-footer {
+ border-radius: 0;
}
}
-.progress {
- display: flex;
- height: 1rem;
- overflow: hidden;
- line-height: 0;
- font-size: 0.75rem;
- background-color: #e9ecef;
- border-radius: 0.25rem;
+@media (max-width: 767.98px) {
+ .modal-fullscreen-md-down {
+ width: 100vw;
+ max-width: none;
+ height: 100%;
+ margin: 0;
+ }
+ .modal-fullscreen-md-down .modal-content {
+ height: 100%;
+ border: 0;
+ border-radius: 0;
+ }
+ .modal-fullscreen-md-down .modal-header {
+ border-radius: 0;
+ }
+ .modal-fullscreen-md-down .modal-body {
+ overflow-y: auto;
+ }
+ .modal-fullscreen-md-down .modal-footer {
+ border-radius: 0;
+ }
}
-
-.progress-bar {
- display: flex;
- flex-direction: column;
- justify-content: center;
- overflow: hidden;
- color: #fff;
- text-align: center;
- white-space: nowrap;
- background-color: #0078d7;
- transition: width 0.6s ease;
+@media (max-width: 991.98px) {
+ .modal-fullscreen-lg-down {
+ width: 100vw;
+ max-width: none;
+ height: 100%;
+ margin: 0;
+ }
+ .modal-fullscreen-lg-down .modal-content {
+ height: 100%;
+ border: 0;
+ border-radius: 0;
+ }
+ .modal-fullscreen-lg-down .modal-header {
+ border-radius: 0;
+ }
+ .modal-fullscreen-lg-down .modal-body {
+ overflow-y: auto;
+ }
+ .modal-fullscreen-lg-down .modal-footer {
+ border-radius: 0;
+ }
}
-@media (prefers-reduced-motion: reduce) {
- .progress-bar {
- transition: none;
+@media (max-width: 1199.98px) {
+ .modal-fullscreen-xl-down {
+ width: 100vw;
+ max-width: none;
+ height: 100%;
+ margin: 0;
+ }
+ .modal-fullscreen-xl-down .modal-content {
+ height: 100%;
+ border: 0;
+ border-radius: 0;
+ }
+ .modal-fullscreen-xl-down .modal-header {
+ border-radius: 0;
+ }
+ .modal-fullscreen-xl-down .modal-body {
+ overflow-y: auto;
+ }
+ .modal-fullscreen-xl-down .modal-footer {
+ border-radius: 0;
}
}
-
-.progress-bar-striped {
- background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
- background-size: 1rem 1rem;
+.tooltip {
+ position: absolute;
+ z-index: 1070;
+ display: block;
+ margin: 0;
+ font-family: var(--bs-font-sans-serif);
+ font-style: normal;
+ font-weight: 400;
+ line-height: 1.6;
+ text-align: left;
+ text-align: start;
+ text-decoration: none;
+ text-shadow: none;
+ text-transform: none;
+ letter-spacing: normal;
+ word-break: normal;
+ word-spacing: normal;
+ white-space: normal;
+ line-break: auto;
+ font-size: 0.875rem;
+ word-wrap: break-word;
+ opacity: 0;
}
-
-.progress-bar-animated {
- -webkit-animation: progress-bar-stripes 1s linear infinite;
- animation: progress-bar-stripes 1s linear infinite;
+.tooltip.show {
+ opacity: 0.9;
}
-@media (prefers-reduced-motion: reduce) {
- .progress-bar-animated {
- -webkit-animation: none;
- animation: none;
- }
+.tooltip .tooltip-arrow {
+ position: absolute;
+ display: block;
+ width: 0.8rem;
+ height: 0.4rem;
+}
+.tooltip .tooltip-arrow::before {
+ position: absolute;
+ content: "";
+ border-color: transparent;
+ border-style: solid;
}
-.media {
- display: flex;
- align-items: flex-start;
+.bs-tooltip-top, .bs-tooltip-auto[data-popper-placement^=top] {
+ padding: 0.4rem 0;
+}
+.bs-tooltip-top .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow {
+ bottom: 0;
+}
+.bs-tooltip-top .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow::before {
+ top: -1px;
+ border-width: 0.4rem 0.4rem 0;
+ border-top-color: #000;
}
-.media-body {
- flex: 1;
+.bs-tooltip-end, .bs-tooltip-auto[data-popper-placement^=right] {
+ padding: 0 0.4rem;
+}
+.bs-tooltip-end .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow {
+ left: 0;
+ width: 0.4rem;
+ height: 0.8rem;
+}
+.bs-tooltip-end .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow::before {
+ right: -1px;
+ border-width: 0.4rem 0.4rem 0.4rem 0;
+ border-right-color: #000;
}
-.list-group {
- display: flex;
- flex-direction: column;
- padding-left: 0;
- margin-bottom: 0;
- border-radius: 0.25rem;
+.bs-tooltip-bottom, .bs-tooltip-auto[data-popper-placement^=bottom] {
+ padding: 0.4rem 0;
+}
+.bs-tooltip-bottom .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow {
+ top: 0;
+}
+.bs-tooltip-bottom .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow::before {
+ bottom: -1px;
+ border-width: 0 0.4rem 0.4rem;
+ border-bottom-color: #000;
}
-.list-group-item-action {
- width: 100%;
- color: #495057;
- text-align: inherit;
+.bs-tooltip-start, .bs-tooltip-auto[data-popper-placement^=left] {
+ padding: 0 0.4rem;
}
-.list-group-item-action:hover, .list-group-item-action:focus {
- z-index: 1;
- color: #495057;
- text-decoration: none;
- background-color: #f8f9fa;
+.bs-tooltip-start .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow {
+ right: 0;
+ width: 0.4rem;
+ height: 0.8rem;
}
-.list-group-item-action:active {
- color: #212529;
- background-color: #e9ecef;
+.bs-tooltip-start .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow::before {
+ left: -1px;
+ border-width: 0.4rem 0 0.4rem 0.4rem;
+ border-left-color: #000;
}
-.list-group-item {
- position: relative;
+.tooltip-inner {
+ max-width: 200px;
+ padding: 0.25rem 0.5rem;
+ color: #fff;
+ text-align: center;
+ background-color: #000;
+ border-radius: 0.25rem;
+}
+
+.popover {
+ position: absolute;
+ top: 0;
+ left: 0 /* rtl:ignore */;
+ z-index: 1060;
display: block;
- padding: 0.75rem 1.25rem;
+ max-width: 276px;
+ font-family: var(--bs-font-sans-serif);
+ font-style: normal;
+ font-weight: 400;
+ line-height: 1.6;
+ text-align: left;
+ text-align: start;
+ text-decoration: none;
+ text-shadow: none;
+ text-transform: none;
+ letter-spacing: normal;
+ word-break: normal;
+ word-spacing: normal;
+ white-space: normal;
+ line-break: auto;
+ font-size: 0.875rem;
+ word-wrap: break-word;
background-color: #fff;
- border: 1px solid rgba(0, 0, 0, 0.125);
+ background-clip: padding-box;
+ border: 1px solid rgba(0, 0, 0, 0.2);
+ border-radius: 0.3rem;
}
-.list-group-item:first-child {
- border-top-left-radius: inherit;
- border-top-right-radius: inherit;
+.popover .popover-arrow {
+ position: absolute;
+ display: block;
+ width: 1rem;
+ height: 0.5rem;
+ margin: 0 0.3rem;
}
-.list-group-item:last-child {
- border-bottom-right-radius: inherit;
- border-bottom-left-radius: inherit;
+.popover .popover-arrow::before, .popover .popover-arrow::after {
+ position: absolute;
+ display: block;
+ content: "";
+ border-color: transparent;
+ border-style: solid;
}
-.list-group-item.disabled, .list-group-item:disabled {
- color: #6c757d;
- pointer-events: none;
- background-color: #fff;
+
+.bs-popover-top, .bs-popover-auto[data-popper-placement^=top] {
+ margin-bottom: 0.5rem !important;
}
-.list-group-item.active {
- z-index: 2;
- color: #fff;
- background-color: #0078d7;
- border-color: #0078d7;
+.bs-popover-top > .popover-arrow, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow {
+ bottom: calc(-0.5rem - 1px);
}
-.list-group-item + .list-group-item {
- border-top-width: 0;
+.bs-popover-top > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow::before {
+ bottom: 0;
+ border-width: 0.5rem 0.5rem 0;
+ border-top-color: rgba(0, 0, 0, 0.25);
}
-.list-group-item + .list-group-item.active {
- margin-top: -1px;
- border-top-width: 1px;
+.bs-popover-top > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow::after {
+ bottom: 1px;
+ border-width: 0.5rem 0.5rem 0;
+ border-top-color: #fff;
}
-.list-group-horizontal {
- flex-direction: row;
+.bs-popover-end, .bs-popover-auto[data-popper-placement^=right] {
+ margin-left: 0.5rem !important;
}
-.list-group-horizontal > .list-group-item:first-child {
- border-bottom-left-radius: 0.25rem;
- border-top-right-radius: 0;
+.bs-popover-end > .popover-arrow, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow {
+ left: calc(-0.5rem - 1px);
+ width: 0.5rem;
+ height: 1rem;
+ margin: 0.3rem 0;
}
-.list-group-horizontal > .list-group-item:last-child {
- border-top-right-radius: 0.25rem;
- border-bottom-left-radius: 0;
+.bs-popover-end > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow::before {
+ left: 0;
+ border-width: 0.5rem 0.5rem 0.5rem 0;
+ border-right-color: rgba(0, 0, 0, 0.25);
}
-.list-group-horizontal > .list-group-item.active {
- margin-top: 0;
+.bs-popover-end > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow::after {
+ left: 1px;
+ border-width: 0.5rem 0.5rem 0.5rem 0;
+ border-right-color: #fff;
}
-.list-group-horizontal > .list-group-item + .list-group-item {
- border-top-width: 1px;
- border-left-width: 0;
+
+.bs-popover-bottom, .bs-popover-auto[data-popper-placement^=bottom] {
+ margin-top: 0.5rem !important;
}
-.list-group-horizontal > .list-group-item + .list-group-item.active {
- margin-left: -1px;
- border-left-width: 1px;
+.bs-popover-bottom > .popover-arrow, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow {
+ top: calc(-0.5rem - 1px);
+}
+.bs-popover-bottom > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::before {
+ top: 0;
+ border-width: 0 0.5rem 0.5rem 0.5rem;
+ border-bottom-color: rgba(0, 0, 0, 0.25);
+}
+.bs-popover-bottom > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::after {
+ top: 1px;
+ border-width: 0 0.5rem 0.5rem 0.5rem;
+ border-bottom-color: #fff;
+}
+.bs-popover-bottom .popover-header::before, .bs-popover-auto[data-popper-placement^=bottom] .popover-header::before {
+ position: absolute;
+ top: 0;
+ left: 50%;
+ display: block;
+ width: 1rem;
+ margin-left: -0.5rem;
+ content: "";
+ border-bottom: 1px solid #f0f0f0;
}
-@media (min-width: 576px) {
- .list-group-horizontal-sm {
- flex-direction: row;
- }
- .list-group-horizontal-sm > .list-group-item:first-child {
- border-bottom-left-radius: 0.25rem;
- border-top-right-radius: 0;
- }
- .list-group-horizontal-sm > .list-group-item:last-child {
- border-top-right-radius: 0.25rem;
- border-bottom-left-radius: 0;
- }
- .list-group-horizontal-sm > .list-group-item.active {
- margin-top: 0;
- }
- .list-group-horizontal-sm > .list-group-item + .list-group-item {
- border-top-width: 1px;
- border-left-width: 0;
- }
- .list-group-horizontal-sm > .list-group-item + .list-group-item.active {
- margin-left: -1px;
- border-left-width: 1px;
- }
+.bs-popover-start, .bs-popover-auto[data-popper-placement^=left] {
+ margin-right: 0.5rem !important;
}
-@media (min-width: 768px) {
- .list-group-horizontal-md {
- flex-direction: row;
- }
- .list-group-horizontal-md > .list-group-item:first-child {
- border-bottom-left-radius: 0.25rem;
- border-top-right-radius: 0;
- }
- .list-group-horizontal-md > .list-group-item:last-child {
- border-top-right-radius: 0.25rem;
- border-bottom-left-radius: 0;
- }
- .list-group-horizontal-md > .list-group-item.active {
- margin-top: 0;
- }
- .list-group-horizontal-md > .list-group-item + .list-group-item {
- border-top-width: 1px;
- border-left-width: 0;
- }
- .list-group-horizontal-md > .list-group-item + .list-group-item.active {
- margin-left: -1px;
- border-left-width: 1px;
- }
+.bs-popover-start > .popover-arrow, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow {
+ right: calc(-0.5rem - 1px);
+ width: 0.5rem;
+ height: 1rem;
+ margin: 0.3rem 0;
}
-@media (min-width: 992px) {
- .list-group-horizontal-lg {
- flex-direction: row;
- }
- .list-group-horizontal-lg > .list-group-item:first-child {
- border-bottom-left-radius: 0.25rem;
- border-top-right-radius: 0;
- }
- .list-group-horizontal-lg > .list-group-item:last-child {
- border-top-right-radius: 0.25rem;
- border-bottom-left-radius: 0;
+.bs-popover-start > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow::before {
+ right: 0;
+ border-width: 0.5rem 0 0.5rem 0.5rem;
+ border-left-color: rgba(0, 0, 0, 0.25);
+}
+.bs-popover-start > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow::after {
+ right: 1px;
+ border-width: 0.5rem 0 0.5rem 0.5rem;
+ border-left-color: #fff;
+}
+
+.popover-header {
+ padding: 0.5rem 1rem;
+ margin-bottom: 0;
+ font-size: 1rem;
+ background-color: #f0f0f0;
+ border-bottom: 1px solid #d8d8d8;
+ border-top-left-radius: calc(0.3rem - 1px);
+ border-top-right-radius: calc(0.3rem - 1px);
+}
+.popover-header:empty {
+ display: none;
+}
+
+.popover-body {
+ padding: 1rem 1rem;
+ color: #212529;
+}
+
+.carousel {
+ position: relative;
+}
+
+.carousel.pointer-event {
+ touch-action: pan-y;
+}
+
+.carousel-inner {
+ position: relative;
+ width: 100%;
+ overflow: hidden;
+}
+.carousel-inner::after {
+ display: block;
+ clear: both;
+ content: "";
+}
+
+.carousel-item {
+ position: relative;
+ display: none;
+ float: left;
+ width: 100%;
+ margin-right: -100%;
+ -webkit-backface-visibility: hidden;
+ backface-visibility: hidden;
+ transition: transform 0.6s ease-in-out;
+}
+@media (prefers-reduced-motion: reduce) {
+ .carousel-item {
+ transition: none;
}
- .list-group-horizontal-lg > .list-group-item.active {
- margin-top: 0;
+}
+
+.carousel-item.active,
+.carousel-item-next,
+.carousel-item-prev {
+ display: block;
+}
+
+/* rtl:begin:ignore */
+.carousel-item-next:not(.carousel-item-start),
+.active.carousel-item-end {
+ transform: translateX(100%);
+}
+
+.carousel-item-prev:not(.carousel-item-end),
+.active.carousel-item-start {
+ transform: translateX(-100%);
+}
+
+/* rtl:end:ignore */
+.carousel-fade .carousel-item {
+ opacity: 0;
+ transition-property: opacity;
+ transform: none;
+}
+.carousel-fade .carousel-item.active,
+.carousel-fade .carousel-item-next.carousel-item-start,
+.carousel-fade .carousel-item-prev.carousel-item-end {
+ z-index: 1;
+ opacity: 1;
+}
+.carousel-fade .active.carousel-item-start,
+.carousel-fade .active.carousel-item-end {
+ z-index: 0;
+ opacity: 0;
+ transition: opacity 0s 0.6s;
+}
+@media (prefers-reduced-motion: reduce) {
+ .carousel-fade .active.carousel-item-start,
+.carousel-fade .active.carousel-item-end {
+ transition: none;
}
- .list-group-horizontal-lg > .list-group-item + .list-group-item {
- border-top-width: 1px;
- border-left-width: 0;
+}
+
+.carousel-control-prev,
+.carousel-control-next {
+ position: absolute;
+ top: 0;
+ bottom: 0;
+ z-index: 1;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ width: 15%;
+ color: #fff;
+ text-align: center;
+ opacity: 0.5;
+ transition: opacity 0.15s ease;
+}
+@media (prefers-reduced-motion: reduce) {
+ .carousel-control-prev,
+.carousel-control-next {
+ transition: none;
}
- .list-group-horizontal-lg > .list-group-item + .list-group-item.active {
- margin-left: -1px;
- border-left-width: 1px;
+}
+.carousel-control-prev:hover, .carousel-control-prev:focus,
+.carousel-control-next:hover,
+.carousel-control-next:focus {
+ color: #fff;
+ text-decoration: none;
+ outline: 0;
+ opacity: 0.9;
+}
+
+.carousel-control-prev {
+ left: 0;
+}
+
+.carousel-control-next {
+ right: 0;
+}
+
+.carousel-control-prev-icon,
+.carousel-control-next-icon {
+ display: inline-block;
+ width: 2rem;
+ height: 2rem;
+ background-repeat: no-repeat;
+ background-position: 50%;
+ background-size: 100% 100%;
+}
+
+/* rtl:options: {
+ "autoRename": true,
+ "stringMap":[ {
+ "name" : "prev-next",
+ "search" : "prev",
+ "replace" : "next"
+ } ]
+} */
+.carousel-control-prev-icon {
+ background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e");
+}
+
+.carousel-control-next-icon {
+ background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
+}
+
+.carousel-indicators {
+ position: absolute;
+ right: 0;
+ bottom: 0;
+ left: 0;
+ z-index: 2;
+ display: flex;
+ justify-content: center;
+ padding-left: 0;
+ margin-right: 15%;
+ margin-left: 15%;
+ list-style: none;
+}
+.carousel-indicators li {
+ box-sizing: content-box;
+ flex: 0 1 auto;
+ width: 30px;
+ height: 3px;
+ margin-right: 3px;
+ margin-left: 3px;
+ text-indent: -999px;
+ cursor: pointer;
+ background-color: #fff;
+ background-clip: padding-box;
+ border-top: 10px solid transparent;
+ border-bottom: 10px solid transparent;
+ opacity: 0.5;
+ transition: opacity 0.6s ease;
+}
+@media (prefers-reduced-motion: reduce) {
+ .carousel-indicators li {
+ transition: none;
}
}
-@media (min-width: 1200px) {
- .list-group-horizontal-xl {
- flex-direction: row;
+.carousel-indicators .active {
+ opacity: 1;
+}
+
+.carousel-caption {
+ position: absolute;
+ right: 15%;
+ bottom: 1.25rem;
+ left: 15%;
+ padding-top: 1.25rem;
+ padding-bottom: 1.25rem;
+ color: #fff;
+ text-align: center;
+}
+
+.carousel-dark .carousel-control-prev-icon,
+.carousel-dark .carousel-control-next-icon {
+ filter: invert(1) grayscale(100);
+}
+.carousel-dark .carousel-indicators li {
+ background-color: #000;
+}
+.carousel-dark .carousel-caption {
+ color: #000;
+}
+
+@-webkit-keyframes spinner-border {
+ to {
+ transform: rotate(360deg) /* rtl:ignore */;
}
- .list-group-horizontal-xl > .list-group-item:first-child {
- border-bottom-left-radius: 0.25rem;
- border-top-right-radius: 0;
+}
+
+@keyframes spinner-border {
+ to {
+ transform: rotate(360deg) /* rtl:ignore */;
}
- .list-group-horizontal-xl > .list-group-item:last-child {
- border-top-right-radius: 0.25rem;
- border-bottom-left-radius: 0;
+}
+.spinner-border {
+ display: inline-block;
+ width: 2rem;
+ height: 2rem;
+ vertical-align: text-bottom;
+ border: 0.25em solid currentColor;
+ border-right-color: transparent;
+ border-radius: 50%;
+ -webkit-animation: 0.75s linear infinite spinner-border;
+ animation: 0.75s linear infinite spinner-border;
+}
+
+.spinner-border-sm {
+ width: 1rem;
+ height: 1rem;
+ border-width: 0.2em;
+}
+
+@-webkit-keyframes spinner-grow {
+ 0% {
+ transform: scale(0);
}
- .list-group-horizontal-xl > .list-group-item.active {
- margin-top: 0;
+ 50% {
+ opacity: 1;
+ transform: none;
}
- .list-group-horizontal-xl > .list-group-item + .list-group-item {
- border-top-width: 1px;
- border-left-width: 0;
+}
+
+@keyframes spinner-grow {
+ 0% {
+ transform: scale(0);
}
- .list-group-horizontal-xl > .list-group-item + .list-group-item.active {
- margin-left: -1px;
- border-left-width: 1px;
+ 50% {
+ opacity: 1;
+ transform: none;
}
}
-.list-group-flush {
- border-radius: 0;
-}
-.list-group-flush > .list-group-item {
- border-width: 0 0 1px;
+.spinner-grow {
+ display: inline-block;
+ width: 2rem;
+ height: 2rem;
+ vertical-align: text-bottom;
+ background-color: currentColor;
+ border-radius: 50%;
+ opacity: 0;
+ -webkit-animation: 0.75s linear infinite spinner-grow;
+ animation: 0.75s linear infinite spinner-grow;
}
-.list-group-flush > .list-group-item:last-child {
- border-bottom-width: 0;
+
+.spinner-grow-sm {
+ width: 1rem;
+ height: 1rem;
}
-.list-group-item-primary {
- color: #003e70;
- background-color: #b8d9f4;
+@media (prefers-reduced-motion: reduce) {
+ .spinner-border,
+.spinner-grow {
+ -webkit-animation-duration: 1.5s;
+ animation-duration: 1.5s;
+ }
+}
+.clearfix::after {
+ display: block;
+ clear: both;
+ content: "";
}
-.list-group-item-primary.list-group-item-action:hover, .list-group-item-primary.list-group-item-action:focus {
- color: #003e70;
- background-color: #a2cdf1;
+
+.link-primary {
+ color: #005dc5;
}
-.list-group-item-primary.list-group-item-action.active {
- color: #fff;
- background-color: #003e70;
- border-color: #003e70;
+.link-primary:hover, .link-primary:focus {
+ color: #004a9e;
}
-.list-group-item-secondary {
- color: #383d41;
- background-color: #d6d8db;
-}
-.list-group-item-secondary.list-group-item-action:hover, .list-group-item-secondary.list-group-item-action:focus {
- color: #383d41;
- background-color: #c8cbcf;
+.link-secondary {
+ color: #6c757d;
}
-.list-group-item-secondary.list-group-item-action.active {
- color: #fff;
- background-color: #383d41;
- border-color: #383d41;
+.link-secondary:hover, .link-secondary:focus {
+ color: #565e64;
}
-.list-group-item-success {
- color: #4f6800;
- background-color: #e2f0b8;
-}
-.list-group-item-success.list-group-item-action:hover, .list-group-item-success.list-group-item-action:focus {
- color: #4f6800;
- background-color: #d9eca3;
+.link-success {
+ color: #97c800;
}
-.list-group-item-success.list-group-item-action.active {
- color: #fff;
- background-color: #4f6800;
- border-color: #4f6800;
+.link-success:hover, .link-success:focus {
+ color: #acd333;
}
-.list-group-item-info {
- color: #004f74;
- background-color: #b8e2f6;
-}
-.list-group-item-info.list-group-item-action:hover, .list-group-item-info.list-group-item-action:focus {
- color: #004f74;
- background-color: #a1d9f3;
+.link-info {
+ color: #0098df;
}
-.list-group-item-info.list-group-item-action.active {
- color: #fff;
- background-color: #004f74;
- border-color: #004f74;
+.link-info:hover, .link-info:focus {
+ color: #33ade5;
}
-.list-group-item-warning {
- color: #856400;
- background-color: #ffedb8;
-}
-.list-group-item-warning.list-group-item-action:hover, .list-group-item-warning.list-group-item-action:focus {
- color: #856400;
- background-color: #ffe79f;
+.link-warning {
+ color: #ffc000;
}
-.list-group-item-warning.list-group-item-action.active {
- color: #fff;
- background-color: #856400;
- border-color: #856400;
+.link-warning:hover, .link-warning:focus {
+ color: #ffcd33;
}
-.list-group-item-danger {
- color: #78210c;
- background-color: #f8cabe;
-}
-.list-group-item-danger.list-group-item-action:hover, .list-group-item-danger.list-group-item-action:focus {
- color: #78210c;
- background-color: #f6b7a7;
+.link-danger {
+ color: #e74018;
}
-.list-group-item-danger.list-group-item-action.active {
- color: #fff;
- background-color: #78210c;
- border-color: #78210c;
+.link-danger:hover, .link-danger:focus {
+ color: #ec6646;
}
-.list-group-item-light {
- color: #818182;
- background-color: #fdfdfe;
-}
-.list-group-item-light.list-group-item-action:hover, .list-group-item-light.list-group-item-action:focus {
- color: #818182;
- background-color: #ececf6;
+.link-light {
+ color: #f8f9fa;
}
-.list-group-item-light.list-group-item-action.active {
- color: #fff;
- background-color: #818182;
- border-color: #818182;
+.link-light:hover, .link-light:focus {
+ color: #f9fafb;
}
-.list-group-item-dark {
- color: #1b1e21;
- background-color: #c6c8ca;
-}
-.list-group-item-dark.list-group-item-action:hover, .list-group-item-dark.list-group-item-action:focus {
- color: #1b1e21;
- background-color: #b9bbbe;
+.link-dark {
+ color: #212529;
}
-.list-group-item-dark.list-group-item-action.active {
- color: #fff;
- background-color: #1b1e21;
- border-color: #1b1e21;
+.link-dark:hover, .link-dark:focus {
+ color: #1a1e21;
}
-.close {
- float: right;
- font-size: 1.5rem;
- font-weight: 700;
- line-height: 1;
- color: #000;
- text-shadow: 0 1px 0 #fff;
- opacity: 0.5;
+.ratio {
+ position: relative;
+ width: 100%;
}
-.close:hover {
- color: #000;
- text-decoration: none;
+.ratio::before {
+ display: block;
+ padding-top: var(--aspect-ratio);
+ content: "";
}
-.close:not(:disabled):not(.disabled):hover, .close:not(:disabled):not(.disabled):focus {
- opacity: 0.75;
+.ratio > * {
+ position: absolute;
+ top: 0;
+ left: 0;
+ width: 100%;
+ height: 100%;
}
-button.close {
- padding: 0;
- background-color: transparent;
- border: 0;
+.ratio-1x1 {
+ --aspect-ratio: 100%;
}
-a.close.disabled {
- pointer-events: none;
+.ratio-4x3 {
+ --aspect-ratio: calc(3 / 4 * 100%);
}
-.toast {
- flex-basis: 350px;
- max-width: 350px;
- font-size: 0.875rem;
- background-color: rgba(255, 255, 255, 0.85);
- background-clip: padding-box;
- border: 1px solid rgba(0, 0, 0, 0.1);
- box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.1);
- opacity: 0;
- border-radius: 0.25rem;
-}
-.toast:not(:last-child) {
- margin-bottom: 0.75rem;
+.ratio-16x9 {
+ --aspect-ratio: calc(9 / 16 * 100%);
}
-.toast.showing {
- opacity: 1;
-}
-.toast.show {
- display: block;
- opacity: 1;
+
+.ratio-21x9 {
+ --aspect-ratio: calc(9 / 21 * 100%);
}
-.toast.hide {
- display: none;
+
+.fixed-top {
+ position: fixed;
+ top: 0;
+ right: 0;
+ left: 0;
+ z-index: 1030;
}
-.toast-header {
- display: flex;
- align-items: center;
- padding: 0.25rem 0.75rem;
- color: #6c757d;
- background-color: rgba(255, 255, 255, 0.85);
- background-clip: padding-box;
- border-bottom: 1px solid rgba(0, 0, 0, 0.05);
- border-top-left-radius: calc(0.25rem - 1px);
- border-top-right-radius: calc(0.25rem - 1px);
+.fixed-bottom {
+ position: fixed;
+ right: 0;
+ bottom: 0;
+ left: 0;
+ z-index: 1030;
}
-.toast-body {
- padding: 0.75rem;
+.sticky-top {
+ position: -webkit-sticky;
+ position: sticky;
+ top: 0;
+ z-index: 1020;
}
-.modal-open {
- overflow: hidden;
+@media (min-width: 576px) {
+ .sticky-sm-top {
+ position: -webkit-sticky;
+ position: sticky;
+ top: 0;
+ z-index: 1020;
+ }
}
-.modal-open .modal {
- overflow-x: hidden;
- overflow-y: auto;
+@media (min-width: 768px) {
+ .sticky-md-top {
+ position: -webkit-sticky;
+ position: sticky;
+ top: 0;
+ z-index: 1020;
+ }
+}
+@media (min-width: 992px) {
+ .sticky-lg-top {
+ position: -webkit-sticky;
+ position: sticky;
+ top: 0;
+ z-index: 1020;
+ }
+}
+@media (min-width: 1200px) {
+ .sticky-xl-top {
+ position: -webkit-sticky;
+ position: sticky;
+ top: 0;
+ z-index: 1020;
+ }
+}
+.visually-hidden,
+.visually-hidden-focusable:not(:focus) {
+ position: absolute !important;
+ width: 1px !important;
+ height: 1px !important;
+ padding: 0 !important;
+ margin: -1px !important;
+ overflow: hidden !important;
+ clip: rect(0, 0, 0, 0) !important;
+ white-space: nowrap !important;
+ border: 0 !important;
}
-.modal {
- position: fixed;
+.stretched-link::after {
+ position: absolute;
top: 0;
+ right: 0;
+ bottom: 0;
left: 0;
- z-index: 1050;
- display: none;
- width: 100%;
- height: 100%;
+ z-index: 1;
+ content: "";
+}
+
+.text-truncate {
overflow: hidden;
- outline: 0;
+ text-overflow: ellipsis;
+ white-space: nowrap;
}
-.modal-dialog {
- position: relative;
- width: auto;
- margin: 0.5rem;
- pointer-events: none;
+.align-baseline {
+ vertical-align: baseline !important;
}
-.modal.fade .modal-dialog {
- transition: transform 0.3s ease-out;
- transform: translate(0, -50px);
+
+.align-top {
+ vertical-align: top !important;
}
-@media (prefers-reduced-motion: reduce) {
- .modal.fade .modal-dialog {
- transition: none;
- }
+
+.align-middle {
+ vertical-align: middle !important;
}
-.modal.show .modal-dialog {
- transform: none;
+
+.align-bottom {
+ vertical-align: bottom !important;
}
-.modal.modal-static .modal-dialog {
- transform: scale(1.02);
+
+.align-text-bottom {
+ vertical-align: text-bottom !important;
}
-.modal-dialog-scrollable {
- display: flex;
- max-height: calc(100% - 1rem);
+.align-text-top {
+ vertical-align: text-top !important;
}
-.modal-dialog-scrollable .modal-content {
- max-height: calc(100vh - 1rem);
- overflow: hidden;
+
+.float-start {
+ float: left !important;
}
-.modal-dialog-scrollable .modal-header,
-.modal-dialog-scrollable .modal-footer {
- flex-shrink: 0;
+
+.float-end {
+ float: right !important;
}
-.modal-dialog-scrollable .modal-body {
- overflow-y: auto;
+
+.float-none {
+ float: none !important;
}
-.modal-dialog-centered {
- display: flex;
- align-items: center;
- min-height: calc(100% - 1rem);
+.overflow-auto {
+ overflow: auto !important;
}
-.modal-dialog-centered::before {
- display: block;
- height: calc(100vh - 1rem);
- height: -webkit-min-content;
- height: -moz-min-content;
- height: min-content;
- content: "";
+
+.overflow-hidden {
+ overflow: hidden !important;
}
-.modal-dialog-centered.modal-dialog-scrollable {
- flex-direction: column;
- justify-content: center;
- height: 100%;
+
+.overflow-visible {
+ overflow: visible !important;
}
-.modal-dialog-centered.modal-dialog-scrollable .modal-content {
- max-height: none;
+
+.overflow-scroll {
+ overflow: scroll !important;
}
-.modal-dialog-centered.modal-dialog-scrollable::before {
- content: none;
+
+.d-inline {
+ display: inline !important;
}
-.modal-content {
- position: relative;
- display: flex;
- flex-direction: column;
- width: 100%;
- pointer-events: auto;
- background-color: #fff;
- background-clip: padding-box;
- border: 1px solid rgba(0, 0, 0, 0.2);
- border-radius: 0.3rem;
- outline: 0;
+.d-inline-block {
+ display: inline-block !important;
}
-.modal-backdrop {
- position: fixed;
- top: 0;
- left: 0;
- z-index: 1040;
- width: 100vw;
- height: 100vh;
- background-color: #000;
+.d-block {
+ display: block !important;
}
-.modal-backdrop.fade {
- opacity: 0;
+
+.d-grid {
+ display: grid !important;
}
-.modal-backdrop.show {
- opacity: 0.5;
+
+.d-table {
+ display: table !important;
}
-.modal-header {
- display: flex;
- align-items: flex-start;
- justify-content: space-between;
- padding: 1rem 1rem;
- border-bottom: 1px solid #dee2e6;
- border-top-left-radius: calc(0.3rem - 1px);
- border-top-right-radius: calc(0.3rem - 1px);
+.d-table-row {
+ display: table-row !important;
}
-.modal-header .close {
- padding: 1rem 1rem;
- margin: -1rem -1rem -1rem auto;
+
+.d-table-cell {
+ display: table-cell !important;
}
-.modal-title {
- margin-bottom: 0;
- line-height: 1.6;
+.d-flex {
+ display: flex !important;
}
-.modal-body {
- position: relative;
- flex: 1 1 auto;
- padding: 1rem;
+.d-inline-flex {
+ display: inline-flex !important;
}
-.modal-footer {
- display: flex;
- flex-wrap: wrap;
- align-items: center;
- justify-content: flex-end;
- padding: 0.75rem;
- border-top: 1px solid #dee2e6;
- border-bottom-right-radius: calc(0.3rem - 1px);
- border-bottom-left-radius: calc(0.3rem - 1px);
+.d-none {
+ display: none !important;
}
-.modal-footer > * {
- margin: 0.25rem;
+
+.shadow {
+ box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important;
}
-.modal-scrollbar-measure {
- position: absolute;
- top: -9999px;
- width: 50px;
- height: 50px;
- overflow: scroll;
+.shadow-sm {
+ box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important;
}
-@media (min-width: 576px) {
- .modal-dialog {
- max-width: 500px;
- margin: 1.75rem auto;
- }
+.shadow-lg {
+ box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important;
+}
- .modal-dialog-scrollable {
- max-height: calc(100% - 3.5rem);
- }
- .modal-dialog-scrollable .modal-content {
- max-height: calc(100vh - 3.5rem);
- }
+.shadow-none {
+ box-shadow: none !important;
+}
- .modal-dialog-centered {
- min-height: calc(100% - 3.5rem);
- }
- .modal-dialog-centered::before {
- height: calc(100vh - 3.5rem);
- height: -webkit-min-content;
- height: -moz-min-content;
- height: min-content;
- }
+.position-static {
+ position: static !important;
+}
- .modal-sm {
- max-width: 300px;
- }
+.position-relative {
+ position: relative !important;
}
-@media (min-width: 992px) {
- .modal-lg,
-.modal-xl {
- max-width: 800px;
- }
+
+.position-absolute {
+ position: absolute !important;
}
-@media (min-width: 1200px) {
- .modal-xl {
- max-width: 1140px;
- }
+
+.position-fixed {
+ position: fixed !important;
}
-.tooltip {
- position: absolute;
- z-index: 1070;
- display: block;
- margin: 0;
- font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
- font-style: normal;
- font-weight: 400;
- line-height: 1.6;
- text-align: left;
- text-align: start;
- text-decoration: none;
- text-shadow: none;
- text-transform: none;
- letter-spacing: normal;
- word-break: normal;
- word-spacing: normal;
- white-space: normal;
- line-break: auto;
- font-size: 0.875rem;
- word-wrap: break-word;
- opacity: 0;
+
+.position-sticky {
+ position: -webkit-sticky !important;
+ position: sticky !important;
}
-.tooltip.show {
- opacity: 0.9;
+
+.top-0 {
+ top: 0 !important;
}
-.tooltip .arrow {
- position: absolute;
- display: block;
- width: 0.8rem;
- height: 0.4rem;
+
+.top-50 {
+ top: 50% !important;
}
-.tooltip .arrow::before {
- position: absolute;
- content: "";
- border-color: transparent;
- border-style: solid;
+
+.top-100 {
+ top: 100% !important;
}
-.bs-tooltip-top, .bs-tooltip-auto[x-placement^=top] {
- padding: 0.4rem 0;
+.bottom-0 {
+ bottom: 0 !important;
}
-.bs-tooltip-top .arrow, .bs-tooltip-auto[x-placement^=top] .arrow {
- bottom: 0;
+
+.bottom-50 {
+ bottom: 50% !important;
}
-.bs-tooltip-top .arrow::before, .bs-tooltip-auto[x-placement^=top] .arrow::before {
- top: 0;
- border-width: 0.4rem 0.4rem 0;
- border-top-color: #000;
+
+.bottom-100 {
+ bottom: 100% !important;
}
-.bs-tooltip-right, .bs-tooltip-auto[x-placement^=right] {
- padding: 0 0.4rem;
+.start-0 {
+ left: 0 !important;
}
-.bs-tooltip-right .arrow, .bs-tooltip-auto[x-placement^=right] .arrow {
- left: 0;
- width: 0.4rem;
- height: 0.8rem;
+
+.start-50 {
+ left: 50% !important;
}
-.bs-tooltip-right .arrow::before, .bs-tooltip-auto[x-placement^=right] .arrow::before {
- right: 0;
- border-width: 0.4rem 0.4rem 0.4rem 0;
- border-right-color: #000;
+
+.start-100 {
+ left: 100% !important;
}
-.bs-tooltip-bottom, .bs-tooltip-auto[x-placement^=bottom] {
- padding: 0.4rem 0;
+.end-0 {
+ right: 0 !important;
}
-.bs-tooltip-bottom .arrow, .bs-tooltip-auto[x-placement^=bottom] .arrow {
- top: 0;
+
+.end-50 {
+ right: 50% !important;
}
-.bs-tooltip-bottom .arrow::before, .bs-tooltip-auto[x-placement^=bottom] .arrow::before {
- bottom: 0;
- border-width: 0 0.4rem 0.4rem;
- border-bottom-color: #000;
+
+.end-100 {
+ right: 100% !important;
}
-.bs-tooltip-left, .bs-tooltip-auto[x-placement^=left] {
- padding: 0 0.4rem;
+.translate-middle {
+ transform: translate(-50%, -50%) !important;
}
-.bs-tooltip-left .arrow, .bs-tooltip-auto[x-placement^=left] .arrow {
- right: 0;
- width: 0.4rem;
- height: 0.8rem;
+
+.translate-middle-x {
+ transform: translateX(-50%) !important;
}
-.bs-tooltip-left .arrow::before, .bs-tooltip-auto[x-placement^=left] .arrow::before {
- left: 0;
- border-width: 0.4rem 0 0.4rem 0.4rem;
- border-left-color: #000;
+
+.translate-middle-y {
+ transform: translateY(-50%) !important;
}
-.tooltip-inner {
- max-width: 200px;
- padding: 0.25rem 0.5rem;
- color: #fff;
- text-align: center;
- background-color: #000;
- border-radius: 0.25rem;
+.border {
+ border: 1px solid #dee2e6 !important;
}
-.popover {
- position: absolute;
- top: 0;
- left: 0;
- z-index: 1060;
- display: block;
- max-width: 276px;
- font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
- font-style: normal;
- font-weight: 400;
- line-height: 1.6;
- text-align: left;
- text-align: start;
- text-decoration: none;
- text-shadow: none;
- text-transform: none;
- letter-spacing: normal;
- word-break: normal;
- word-spacing: normal;
- white-space: normal;
- line-break: auto;
- font-size: 0.875rem;
- word-wrap: break-word;
- background-color: #fff;
- background-clip: padding-box;
- border: 1px solid rgba(0, 0, 0, 0.2);
- border-radius: 0.3rem;
+.border-0 {
+ border: 0 !important;
}
-.popover .arrow {
- position: absolute;
- display: block;
- width: 1rem;
- height: 0.5rem;
- margin: 0 0.3rem;
+
+.border-top {
+ border-top: 1px solid #dee2e6 !important;
}
-.popover .arrow::before, .popover .arrow::after {
- position: absolute;
- display: block;
- content: "";
- border-color: transparent;
- border-style: solid;
+
+.border-top-0 {
+ border-top: 0 !important;
}
-.bs-popover-top, .bs-popover-auto[x-placement^=top] {
- margin-bottom: 0.5rem;
+.border-end {
+ border-right: 1px solid #dee2e6 !important;
}
-.bs-popover-top > .arrow, .bs-popover-auto[x-placement^=top] > .arrow {
- bottom: calc(-0.5rem - 1px);
+
+.border-end-0 {
+ border-right: 0 !important;
}
-.bs-popover-top > .arrow::before, .bs-popover-auto[x-placement^=top] > .arrow::before {
- bottom: 0;
- border-width: 0.5rem 0.5rem 0;
- border-top-color: rgba(0, 0, 0, 0.25);
+
+.border-bottom {
+ border-bottom: 1px solid #dee2e6 !important;
}
-.bs-popover-top > .arrow::after, .bs-popover-auto[x-placement^=top] > .arrow::after {
- bottom: 1px;
- border-width: 0.5rem 0.5rem 0;
- border-top-color: #fff;
+
+.border-bottom-0 {
+ border-bottom: 0 !important;
}
-.bs-popover-right, .bs-popover-auto[x-placement^=right] {
- margin-left: 0.5rem;
+.border-start {
+ border-left: 1px solid #dee2e6 !important;
}
-.bs-popover-right > .arrow, .bs-popover-auto[x-placement^=right] > .arrow {
- left: calc(-0.5rem - 1px);
- width: 0.5rem;
- height: 1rem;
- margin: 0.3rem 0;
+
+.border-start-0 {
+ border-left: 0 !important;
}
-.bs-popover-right > .arrow::before, .bs-popover-auto[x-placement^=right] > .arrow::before {
- left: 0;
- border-width: 0.5rem 0.5rem 0.5rem 0;
- border-right-color: rgba(0, 0, 0, 0.25);
+
+.border-primary {
+ border-color: #005dc5 !important;
}
-.bs-popover-right > .arrow::after, .bs-popover-auto[x-placement^=right] > .arrow::after {
- left: 1px;
- border-width: 0.5rem 0.5rem 0.5rem 0;
- border-right-color: #fff;
+
+.border-secondary {
+ border-color: #6c757d !important;
+}
+
+.border-success {
+ border-color: #97c800 !important;
}
-.bs-popover-bottom, .bs-popover-auto[x-placement^=bottom] {
- margin-top: 0.5rem;
-}
-.bs-popover-bottom > .arrow, .bs-popover-auto[x-placement^=bottom] > .arrow {
- top: calc(-0.5rem - 1px);
+.border-info {
+ border-color: #0098df !important;
}
-.bs-popover-bottom > .arrow::before, .bs-popover-auto[x-placement^=bottom] > .arrow::before {
- top: 0;
- border-width: 0 0.5rem 0.5rem 0.5rem;
- border-bottom-color: rgba(0, 0, 0, 0.25);
+
+.border-warning {
+ border-color: #ffc000 !important;
}
-.bs-popover-bottom > .arrow::after, .bs-popover-auto[x-placement^=bottom] > .arrow::after {
- top: 1px;
- border-width: 0 0.5rem 0.5rem 0.5rem;
- border-bottom-color: #fff;
+
+.border-danger {
+ border-color: #e74018 !important;
}
-.bs-popover-bottom .popover-header::before, .bs-popover-auto[x-placement^=bottom] .popover-header::before {
- position: absolute;
- top: 0;
- left: 50%;
- display: block;
- width: 1rem;
- margin-left: -0.5rem;
- content: "";
- border-bottom: 1px solid #f7f7f7;
+
+.border-light {
+ border-color: #f8f9fa !important;
}
-.bs-popover-left, .bs-popover-auto[x-placement^=left] {
- margin-right: 0.5rem;
+.border-dark {
+ border-color: #212529 !important;
}
-.bs-popover-left > .arrow, .bs-popover-auto[x-placement^=left] > .arrow {
- right: calc(-0.5rem - 1px);
- width: 0.5rem;
- height: 1rem;
- margin: 0.3rem 0;
+
+.border-white {
+ border-color: #fff !important;
}
-.bs-popover-left > .arrow::before, .bs-popover-auto[x-placement^=left] > .arrow::before {
- right: 0;
- border-width: 0.5rem 0 0.5rem 0.5rem;
- border-left-color: rgba(0, 0, 0, 0.25);
+
+.border-0 {
+ border-width: 0 !important;
}
-.bs-popover-left > .arrow::after, .bs-popover-auto[x-placement^=left] > .arrow::after {
- right: 1px;
- border-width: 0.5rem 0 0.5rem 0.5rem;
- border-left-color: #fff;
+
+.border-1 {
+ border-width: 1px !important;
}
-.popover-header {
- padding: 0.5rem 0.75rem;
- margin-bottom: 0;
- font-size: 1rem;
- background-color: #f7f7f7;
- border-bottom: 1px solid #ebebeb;
- border-top-left-radius: calc(0.3rem - 1px);
- border-top-right-radius: calc(0.3rem - 1px);
+.border-2 {
+ border-width: 2px !important;
}
-.popover-header:empty {
- display: none;
+
+.border-3 {
+ border-width: 3px !important;
}
-.popover-body {
- padding: 0.5rem 0.75rem;
- color: #212529;
+.border-4 {
+ border-width: 4px !important;
}
-.carousel {
- position: relative;
+.border-5 {
+ border-width: 5px !important;
}
-.carousel.pointer-event {
- touch-action: pan-y;
+.w-25 {
+ width: 25% !important;
}
-.carousel-inner {
- position: relative;
- width: 100%;
- overflow: hidden;
+.w-50 {
+ width: 50% !important;
}
-.carousel-inner::after {
- display: block;
- clear: both;
- content: "";
+
+.w-75 {
+ width: 75% !important;
}
-.carousel-item {
- position: relative;
- display: none;
- float: left;
- width: 100%;
- margin-right: -100%;
- -webkit-backface-visibility: hidden;
- backface-visibility: hidden;
- transition: transform 0.6s ease-in-out;
+.w-100 {
+ width: 100% !important;
}
-@media (prefers-reduced-motion: reduce) {
- .carousel-item {
- transition: none;
- }
+
+.w-auto {
+ width: auto !important;
}
-.carousel-item.active,
-.carousel-item-next,
-.carousel-item-prev {
- display: block;
+.mw-100 {
+ max-width: 100% !important;
}
-.carousel-item-next:not(.carousel-item-left),
-.active.carousel-item-right {
- transform: translateX(100%);
+.vw-100 {
+ width: 100vw !important;
}
-.carousel-item-prev:not(.carousel-item-right),
-.active.carousel-item-left {
- transform: translateX(-100%);
+.min-vw-100 {
+ min-width: 100vw !important;
}
-.carousel-fade .carousel-item {
- opacity: 0;
- transition-property: opacity;
- transform: none;
+.h-25 {
+ height: 25% !important;
}
-.carousel-fade .carousel-item.active,
-.carousel-fade .carousel-item-next.carousel-item-left,
-.carousel-fade .carousel-item-prev.carousel-item-right {
- z-index: 1;
- opacity: 1;
+
+.h-50 {
+ height: 50% !important;
}
-.carousel-fade .active.carousel-item-left,
-.carousel-fade .active.carousel-item-right {
- z-index: 0;
- opacity: 0;
- transition: opacity 0s 0.6s;
+
+.h-75 {
+ height: 75% !important;
}
-@media (prefers-reduced-motion: reduce) {
- .carousel-fade .active.carousel-item-left,
-.carousel-fade .active.carousel-item-right {
- transition: none;
- }
+
+.h-100 {
+ height: 100% !important;
}
-.carousel-control-prev,
-.carousel-control-next {
- position: absolute;
- top: 0;
- bottom: 0;
- z-index: 1;
- display: flex;
- align-items: center;
- justify-content: center;
- width: 15%;
- color: #fff;
- text-align: center;
- opacity: 0.5;
- transition: opacity 0.15s ease;
+.h-auto {
+ height: auto !important;
}
-@media (prefers-reduced-motion: reduce) {
- .carousel-control-prev,
-.carousel-control-next {
- transition: none;
- }
+
+.mh-100 {
+ max-height: 100% !important;
}
-.carousel-control-prev:hover, .carousel-control-prev:focus,
-.carousel-control-next:hover,
-.carousel-control-next:focus {
- color: #fff;
- text-decoration: none;
- outline: 0;
- opacity: 0.9;
+
+.vh-100 {
+ height: 100vh !important;
}
-.carousel-control-prev {
- left: 0;
+.min-vh-100 {
+ min-height: 100vh !important;
}
-.carousel-control-next {
- right: 0;
+.flex-fill {
+ flex: 1 1 auto !important;
}
-.carousel-control-prev-icon,
-.carousel-control-next-icon {
- display: inline-block;
- width: 20px;
- height: 20px;
- background: no-repeat 50%/100% 100%;
+.flex-row {
+ flex-direction: row !important;
}
-.carousel-control-prev-icon {
- background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z'/%3e%3c/svg%3e");
+.flex-column {
+ flex-direction: column !important;
}
-.carousel-control-next-icon {
- background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/%3e%3c/svg%3e");
+.flex-row-reverse {
+ flex-direction: row-reverse !important;
}
-.carousel-indicators {
- position: absolute;
- right: 0;
- bottom: 0;
- left: 0;
- z-index: 15;
- display: flex;
- justify-content: center;
- padding-left: 0;
- margin-right: 15%;
- margin-left: 15%;
- list-style: none;
+.flex-column-reverse {
+ flex-direction: column-reverse !important;
}
-.carousel-indicators li {
- box-sizing: content-box;
- flex: 0 1 auto;
- width: 30px;
- height: 3px;
- margin-right: 3px;
- margin-left: 3px;
- text-indent: -999px;
- cursor: pointer;
- background-color: #fff;
- background-clip: padding-box;
- border-top: 10px solid transparent;
- border-bottom: 10px solid transparent;
- opacity: 0.5;
- transition: opacity 0.6s ease;
+
+.flex-grow-0 {
+ flex-grow: 0 !important;
}
-@media (prefers-reduced-motion: reduce) {
- .carousel-indicators li {
- transition: none;
- }
+
+.flex-grow-1 {
+ flex-grow: 1 !important;
}
-.carousel-indicators .active {
- opacity: 1;
+
+.flex-shrink-0 {
+ flex-shrink: 0 !important;
}
-.carousel-caption {
- position: absolute;
- right: 15%;
- bottom: 20px;
- left: 15%;
- z-index: 10;
- padding-top: 20px;
- padding-bottom: 20px;
- color: #fff;
- text-align: center;
+.flex-shrink-1 {
+ flex-shrink: 1 !important;
}
-@-webkit-keyframes spinner-border {
- to {
- transform: rotate(360deg);
- }
+.flex-wrap {
+ flex-wrap: wrap !important;
}
-@keyframes spinner-border {
- to {
- transform: rotate(360deg);
- }
+.flex-nowrap {
+ flex-wrap: nowrap !important;
}
-.spinner-border {
- display: inline-block;
- width: 2rem;
- height: 2rem;
- vertical-align: text-bottom;
- border: 0.25em solid currentColor;
- border-right-color: transparent;
- border-radius: 50%;
- -webkit-animation: spinner-border 0.75s linear infinite;
- animation: spinner-border 0.75s linear infinite;
+
+.flex-wrap-reverse {
+ flex-wrap: wrap-reverse !important;
}
-.spinner-border-sm {
- width: 1rem;
- height: 1rem;
- border-width: 0.2em;
+.gap-0 {
+ gap: 0 !important;
}
-@-webkit-keyframes spinner-grow {
- 0% {
- transform: scale(0);
- }
- 50% {
- opacity: 1;
- transform: none;
- }
+.gap-1 {
+ gap: 0.25rem !important;
}
-@keyframes spinner-grow {
- 0% {
- transform: scale(0);
- }
- 50% {
- opacity: 1;
- transform: none;
- }
+.gap-2 {
+ gap: 0.5rem !important;
}
-.spinner-grow {
- display: inline-block;
- width: 2rem;
- height: 2rem;
- vertical-align: text-bottom;
- background-color: currentColor;
- border-radius: 50%;
- opacity: 0;
- -webkit-animation: spinner-grow 0.75s linear infinite;
- animation: spinner-grow 0.75s linear infinite;
+
+.gap-3 {
+ gap: 1rem !important;
}
-.spinner-grow-sm {
- width: 1rem;
- height: 1rem;
+.gap-4 {
+ gap: 1.5rem !important;
}
-.align-baseline {
- vertical-align: baseline !important;
+.gap-5 {
+ gap: 3rem !important;
}
-.align-top {
- vertical-align: top !important;
+.justify-content-start {
+ justify-content: flex-start !important;
}
-.align-middle {
- vertical-align: middle !important;
+.justify-content-end {
+ justify-content: flex-end !important;
}
-.align-bottom {
- vertical-align: bottom !important;
+.justify-content-center {
+ justify-content: center !important;
}
-.align-text-bottom {
- vertical-align: text-bottom !important;
+.justify-content-between {
+ justify-content: space-between !important;
}
-.align-text-top {
- vertical-align: text-top !important;
+.justify-content-around {
+ justify-content: space-around !important;
}
-.bg-primary {
- background-color: #0078d7 !important;
+.justify-content-evenly {
+ justify-content: space-evenly !important;
}
-a.bg-primary:hover, a.bg-primary:focus,
-button.bg-primary:hover,
-button.bg-primary:focus {
- background-color: #005ca4 !important;
+.align-items-start {
+ align-items: flex-start !important;
}
-.bg-secondary {
- background-color: #6c757d !important;
+.align-items-end {
+ align-items: flex-end !important;
}
-a.bg-secondary:hover, a.bg-secondary:focus,
-button.bg-secondary:hover,
-button.bg-secondary:focus {
- background-color: #545b62 !important;
+.align-items-center {
+ align-items: center !important;
}
-.bg-success {
- background-color: #97c800 !important;
+.align-items-baseline {
+ align-items: baseline !important;
}
-a.bg-success:hover, a.bg-success:focus,
-button.bg-success:hover,
-button.bg-success:focus {
- background-color: #709500 !important;
+.align-items-stretch {
+ align-items: stretch !important;
}
-.bg-info {
- background-color: #0098df !important;
+.align-content-start {
+ align-content: flex-start !important;
}
-a.bg-info:hover, a.bg-info:focus,
-button.bg-info:hover,
-button.bg-info:focus {
- background-color: #0075ac !important;
+.align-content-end {
+ align-content: flex-end !important;
}
-.bg-warning {
- background-color: #ffc000 !important;
+.align-content-center {
+ align-content: center !important;
}
-a.bg-warning:hover, a.bg-warning:focus,
-button.bg-warning:hover,
-button.bg-warning:focus {
- background-color: #cc9a00 !important;
+.align-content-between {
+ align-content: space-between !important;
}
-.bg-danger {
- background-color: #e74018 !important;
+.align-content-around {
+ align-content: space-around !important;
}
-a.bg-danger:hover, a.bg-danger:focus,
-button.bg-danger:hover,
-button.bg-danger:focus {
- background-color: #b93313 !important;
+.align-content-stretch {
+ align-content: stretch !important;
}
-.bg-light {
- background-color: #f8f9fa !important;
+.align-self-auto {
+ align-self: auto !important;
}
-a.bg-light:hover, a.bg-light:focus,
-button.bg-light:hover,
-button.bg-light:focus {
- background-color: #dae0e5 !important;
+.align-self-start {
+ align-self: flex-start !important;
}
-.bg-dark {
- background-color: #343a40 !important;
+.align-self-end {
+ align-self: flex-end !important;
}
-a.bg-dark:hover, a.bg-dark:focus,
-button.bg-dark:hover,
-button.bg-dark:focus {
- background-color: #1d2124 !important;
+.align-self-center {
+ align-self: center !important;
}
-.bg-white {
- background-color: #fff !important;
+.align-self-baseline {
+ align-self: baseline !important;
}
-.bg-transparent {
- background-color: transparent !important;
+.align-self-stretch {
+ align-self: stretch !important;
}
-.border {
- border: 1px solid #dee2e6 !important;
+.order-first {
+ order: -1 !important;
}
-.border-top {
- border-top: 1px solid #dee2e6 !important;
+.order-0 {
+ order: 0 !important;
}
-.border-right {
- border-right: 1px solid #dee2e6 !important;
+.order-1 {
+ order: 1 !important;
}
-.border-bottom {
- border-bottom: 1px solid #dee2e6 !important;
+.order-2 {
+ order: 2 !important;
}
-.border-left {
- border-left: 1px solid #dee2e6 !important;
+.order-3 {
+ order: 3 !important;
}
-.border-0 {
- border: 0 !important;
+.order-4 {
+ order: 4 !important;
}
-.border-top-0 {
- border-top: 0 !important;
+.order-5 {
+ order: 5 !important;
}
-.border-right-0 {
- border-right: 0 !important;
+.order-last {
+ order: 6 !important;
}
-.border-bottom-0 {
- border-bottom: 0 !important;
+.m-0 {
+ margin: 0 !important;
}
-.border-left-0 {
- border-left: 0 !important;
+.m-1 {
+ margin: 0.25rem !important;
}
-.border-primary {
- border-color: #0078d7 !important;
+.m-2 {
+ margin: 0.5rem !important;
}
-.border-secondary {
- border-color: #6c757d !important;
+.m-3 {
+ margin: 1rem !important;
}
-.border-success {
- border-color: #97c800 !important;
+.m-4 {
+ margin: 1.5rem !important;
}
-.border-info {
- border-color: #0098df !important;
+.m-5 {
+ margin: 3rem !important;
}
-.border-warning {
- border-color: #ffc000 !important;
+.m-auto {
+ margin: auto !important;
}
-.border-danger {
- border-color: #e74018 !important;
+.mx-0 {
+ margin-right: 0 !important;
+ margin-left: 0 !important;
}
-.border-light {
- border-color: #f8f9fa !important;
+.mx-1 {
+ margin-right: 0.25rem !important;
+ margin-left: 0.25rem !important;
}
-.border-dark {
- border-color: #343a40 !important;
+.mx-2 {
+ margin-right: 0.5rem !important;
+ margin-left: 0.5rem !important;
}
-.border-white {
- border-color: #fff !important;
+.mx-3 {
+ margin-right: 1rem !important;
+ margin-left: 1rem !important;
}
-.rounded-sm {
- border-radius: 0.2rem !important;
+.mx-4 {
+ margin-right: 1.5rem !important;
+ margin-left: 1.5rem !important;
}
-.rounded {
- border-radius: 0.25rem !important;
+.mx-5 {
+ margin-right: 3rem !important;
+ margin-left: 3rem !important;
}
-.rounded-top {
- border-top-left-radius: 0.25rem !important;
- border-top-right-radius: 0.25rem !important;
+.mx-auto {
+ margin-right: auto !important;
+ margin-left: auto !important;
}
-.rounded-right {
- border-top-right-radius: 0.25rem !important;
- border-bottom-right-radius: 0.25rem !important;
+.my-0 {
+ margin-top: 0 !important;
+ margin-bottom: 0 !important;
}
-.rounded-bottom {
- border-bottom-right-radius: 0.25rem !important;
- border-bottom-left-radius: 0.25rem !important;
+.my-1 {
+ margin-top: 0.25rem !important;
+ margin-bottom: 0.25rem !important;
}
-.rounded-left {
- border-top-left-radius: 0.25rem !important;
- border-bottom-left-radius: 0.25rem !important;
+.my-2 {
+ margin-top: 0.5rem !important;
+ margin-bottom: 0.5rem !important;
}
-.rounded-lg {
- border-radius: 0.3rem !important;
+.my-3 {
+ margin-top: 1rem !important;
+ margin-bottom: 1rem !important;
}
-.rounded-circle {
- border-radius: 50% !important;
+.my-4 {
+ margin-top: 1.5rem !important;
+ margin-bottom: 1.5rem !important;
}
-.rounded-pill {
- border-radius: 50rem !important;
+.my-5 {
+ margin-top: 3rem !important;
+ margin-bottom: 3rem !important;
}
-.rounded-0 {
- border-radius: 0 !important;
+.my-auto {
+ margin-top: auto !important;
+ margin-bottom: auto !important;
}
-.clearfix::after {
- display: block;
- clear: both;
- content: "";
+.mt-0 {
+ margin-top: 0 !important;
}
-.d-none {
- display: none !important;
+.mt-1 {
+ margin-top: 0.25rem !important;
}
-.d-inline {
- display: inline !important;
+.mt-2 {
+ margin-top: 0.5rem !important;
}
-.d-inline-block {
- display: inline-block !important;
+.mt-3 {
+ margin-top: 1rem !important;
}
-.d-block {
- display: block !important;
+.mt-4 {
+ margin-top: 1.5rem !important;
}
-.d-table {
- display: table !important;
+.mt-5 {
+ margin-top: 3rem !important;
}
-.d-table-row {
- display: table-row !important;
+.mt-auto {
+ margin-top: auto !important;
+}
+
+.me-0 {
+ margin-right: 0 !important;
+}
+
+.me-1 {
+ margin-right: 0.25rem !important;
+}
+
+.me-2 {
+ margin-right: 0.5rem !important;
}
-.d-table-cell {
- display: table-cell !important;
+.me-3 {
+ margin-right: 1rem !important;
}
-.d-flex {
- display: flex !important;
+.me-4 {
+ margin-right: 1.5rem !important;
}
-.d-inline-flex {
- display: inline-flex !important;
+.me-5 {
+ margin-right: 3rem !important;
}
-@media (min-width: 576px) {
- .d-sm-none {
- display: none !important;
- }
+.me-auto {
+ margin-right: auto !important;
+}
- .d-sm-inline {
- display: inline !important;
- }
+.mb-0 {
+ margin-bottom: 0 !important;
+}
- .d-sm-inline-block {
- display: inline-block !important;
- }
+.mb-1 {
+ margin-bottom: 0.25rem !important;
+}
- .d-sm-block {
- display: block !important;
- }
+.mb-2 {
+ margin-bottom: 0.5rem !important;
+}
- .d-sm-table {
- display: table !important;
- }
+.mb-3 {
+ margin-bottom: 1rem !important;
+}
- .d-sm-table-row {
- display: table-row !important;
- }
+.mb-4 {
+ margin-bottom: 1.5rem !important;
+}
- .d-sm-table-cell {
- display: table-cell !important;
- }
+.mb-5 {
+ margin-bottom: 3rem !important;
+}
- .d-sm-flex {
- display: flex !important;
- }
+.mb-auto {
+ margin-bottom: auto !important;
+}
- .d-sm-inline-flex {
- display: inline-flex !important;
- }
+.ms-0 {
+ margin-left: 0 !important;
}
-@media (min-width: 768px) {
- .d-md-none {
- display: none !important;
- }
- .d-md-inline {
- display: inline !important;
- }
+.ms-1 {
+ margin-left: 0.25rem !important;
+}
- .d-md-inline-block {
- display: inline-block !important;
- }
+.ms-2 {
+ margin-left: 0.5rem !important;
+}
- .d-md-block {
- display: block !important;
- }
+.ms-3 {
+ margin-left: 1rem !important;
+}
- .d-md-table {
- display: table !important;
- }
+.ms-4 {
+ margin-left: 1.5rem !important;
+}
- .d-md-table-row {
- display: table-row !important;
- }
+.ms-5 {
+ margin-left: 3rem !important;
+}
- .d-md-table-cell {
- display: table-cell !important;
- }
+.ms-auto {
+ margin-left: auto !important;
+}
- .d-md-flex {
- display: flex !important;
- }
+.p-0 {
+ padding: 0 !important;
+}
- .d-md-inline-flex {
- display: inline-flex !important;
- }
+.p-1 {
+ padding: 0.25rem !important;
}
-@media (min-width: 992px) {
- .d-lg-none {
- display: none !important;
- }
- .d-lg-inline {
- display: inline !important;
- }
+.p-2 {
+ padding: 0.5rem !important;
+}
- .d-lg-inline-block {
- display: inline-block !important;
- }
+.p-3 {
+ padding: 1rem !important;
+}
- .d-lg-block {
- display: block !important;
- }
+.p-4 {
+ padding: 1.5rem !important;
+}
- .d-lg-table {
- display: table !important;
- }
+.p-5 {
+ padding: 3rem !important;
+}
- .d-lg-table-row {
- display: table-row !important;
- }
+.px-0 {
+ padding-right: 0 !important;
+ padding-left: 0 !important;
+}
- .d-lg-table-cell {
- display: table-cell !important;
- }
+.px-1 {
+ padding-right: 0.25rem !important;
+ padding-left: 0.25rem !important;
+}
- .d-lg-flex {
- display: flex !important;
- }
+.px-2 {
+ padding-right: 0.5rem !important;
+ padding-left: 0.5rem !important;
+}
- .d-lg-inline-flex {
- display: inline-flex !important;
- }
+.px-3 {
+ padding-right: 1rem !important;
+ padding-left: 1rem !important;
}
-@media (min-width: 1200px) {
- .d-xl-none {
- display: none !important;
- }
- .d-xl-inline {
- display: inline !important;
- }
+.px-4 {
+ padding-right: 1.5rem !important;
+ padding-left: 1.5rem !important;
+}
- .d-xl-inline-block {
- display: inline-block !important;
- }
+.px-5 {
+ padding-right: 3rem !important;
+ padding-left: 3rem !important;
+}
- .d-xl-block {
- display: block !important;
- }
+.py-0 {
+ padding-top: 0 !important;
+ padding-bottom: 0 !important;
+}
- .d-xl-table {
- display: table !important;
- }
+.py-1 {
+ padding-top: 0.25rem !important;
+ padding-bottom: 0.25rem !important;
+}
- .d-xl-table-row {
- display: table-row !important;
- }
+.py-2 {
+ padding-top: 0.5rem !important;
+ padding-bottom: 0.5rem !important;
+}
- .d-xl-table-cell {
- display: table-cell !important;
- }
+.py-3 {
+ padding-top: 1rem !important;
+ padding-bottom: 1rem !important;
+}
- .d-xl-flex {
- display: flex !important;
- }
+.py-4 {
+ padding-top: 1.5rem !important;
+ padding-bottom: 1.5rem !important;
+}
- .d-xl-inline-flex {
- display: inline-flex !important;
- }
+.py-5 {
+ padding-top: 3rem !important;
+ padding-bottom: 3rem !important;
}
-@media print {
- .d-print-none {
- display: none !important;
- }
- .d-print-inline {
- display: inline !important;
- }
+.pt-0 {
+ padding-top: 0 !important;
+}
- .d-print-inline-block {
- display: inline-block !important;
- }
+.pt-1 {
+ padding-top: 0.25rem !important;
+}
- .d-print-block {
- display: block !important;
- }
+.pt-2 {
+ padding-top: 0.5rem !important;
+}
- .d-print-table {
- display: table !important;
- }
+.pt-3 {
+ padding-top: 1rem !important;
+}
- .d-print-table-row {
- display: table-row !important;
- }
+.pt-4 {
+ padding-top: 1.5rem !important;
+}
- .d-print-table-cell {
- display: table-cell !important;
- }
+.pt-5 {
+ padding-top: 3rem !important;
+}
- .d-print-flex {
- display: flex !important;
- }
+.pe-0 {
+ padding-right: 0 !important;
+}
- .d-print-inline-flex {
- display: inline-flex !important;
- }
+.pe-1 {
+ padding-right: 0.25rem !important;
}
-.embed-responsive {
- position: relative;
- display: block;
- width: 100%;
- padding: 0;
- overflow: hidden;
+
+.pe-2 {
+ padding-right: 0.5rem !important;
}
-.embed-responsive::before {
- display: block;
- content: "";
+
+.pe-3 {
+ padding-right: 1rem !important;
}
-.embed-responsive .embed-responsive-item,
-.embed-responsive iframe,
-.embed-responsive embed,
-.embed-responsive object,
-.embed-responsive video {
- position: absolute;
- top: 0;
- bottom: 0;
- left: 0;
- width: 100%;
- height: 100%;
- border: 0;
+
+.pe-4 {
+ padding-right: 1.5rem !important;
}
-.embed-responsive-21by9::before {
- padding-top: 42.8571428571%;
+.pe-5 {
+ padding-right: 3rem !important;
}
-.embed-responsive-16by9::before {
- padding-top: 56.25%;
+.pb-0 {
+ padding-bottom: 0 !important;
}
-.embed-responsive-4by3::before {
- padding-top: 75%;
+.pb-1 {
+ padding-bottom: 0.25rem !important;
}
-.embed-responsive-1by1::before {
- padding-top: 100%;
+.pb-2 {
+ padding-bottom: 0.5rem !important;
}
-.flex-row {
- flex-direction: row !important;
+.pb-3 {
+ padding-bottom: 1rem !important;
}
-.flex-column {
- flex-direction: column !important;
+.pb-4 {
+ padding-bottom: 1.5rem !important;
}
-.flex-row-reverse {
- flex-direction: row-reverse !important;
+.pb-5 {
+ padding-bottom: 3rem !important;
}
-.flex-column-reverse {
- flex-direction: column-reverse !important;
+.ps-0 {
+ padding-left: 0 !important;
}
-.flex-wrap {
- flex-wrap: wrap !important;
+.ps-1 {
+ padding-left: 0.25rem !important;
}
-.flex-nowrap {
- flex-wrap: nowrap !important;
+.ps-2 {
+ padding-left: 0.5rem !important;
}
-.flex-wrap-reverse {
- flex-wrap: wrap-reverse !important;
+.ps-3 {
+ padding-left: 1rem !important;
}
-.flex-fill {
- flex: 1 1 auto !important;
+.ps-4 {
+ padding-left: 1.5rem !important;
}
-.flex-grow-0 {
- flex-grow: 0 !important;
+.ps-5 {
+ padding-left: 3rem !important;
}
-.flex-grow-1 {
- flex-grow: 1 !important;
+.fs-1 {
+ font-size: calc(1.375rem + 1.5vw) !important;
}
-.flex-shrink-0 {
- flex-shrink: 0 !important;
+.fs-2 {
+ font-size: calc(1.325rem + 0.9vw) !important;
}
-.flex-shrink-1 {
- flex-shrink: 1 !important;
+.fs-3 {
+ font-size: calc(1.3rem + 0.6vw) !important;
}
-.justify-content-start {
- justify-content: flex-start !important;
+.fs-4 {
+ font-size: calc(1.275rem + 0.3vw) !important;
}
-.justify-content-end {
- justify-content: flex-end !important;
+.fs-5 {
+ font-size: 1.25rem !important;
}
-.justify-content-center {
- justify-content: center !important;
+.fs-6 {
+ font-size: 1rem !important;
}
-.justify-content-between {
- justify-content: space-between !important;
+.fst-italic {
+ font-style: italic !important;
}
-.justify-content-around {
- justify-content: space-around !important;
+.fst-normal {
+ font-style: normal !important;
}
-.align-items-start {
- align-items: flex-start !important;
+.fw-light {
+ font-weight: 300 !important;
}
-.align-items-end {
- align-items: flex-end !important;
+.fw-lighter {
+ font-weight: lighter !important;
}
-.align-items-center {
- align-items: center !important;
+.fw-normal {
+ font-weight: 400 !important;
}
-.align-items-baseline {
- align-items: baseline !important;
+.fw-bold {
+ font-weight: 700 !important;
}
-.align-items-stretch {
- align-items: stretch !important;
+.fw-bolder {
+ font-weight: bolder !important;
}
-.align-content-start {
- align-content: flex-start !important;
+.text-lowercase {
+ text-transform: lowercase !important;
}
-.align-content-end {
- align-content: flex-end !important;
+.text-uppercase {
+ text-transform: uppercase !important;
}
-.align-content-center {
- align-content: center !important;
+.text-capitalize {
+ text-transform: capitalize !important;
}
-.align-content-between {
- align-content: space-between !important;
+.text-start {
+ text-align: left !important;
}
-.align-content-around {
- align-content: space-around !important;
+.text-end {
+ text-align: right !important;
}
-.align-content-stretch {
- align-content: stretch !important;
+.text-center {
+ text-align: center !important;
}
-.align-self-auto {
- align-self: auto !important;
+.text-primary {
+ color: #005dc5 !important;
}
-.align-self-start {
- align-self: flex-start !important;
+.text-secondary {
+ color: #6c757d !important;
}
-.align-self-end {
- align-self: flex-end !important;
+.text-success {
+ color: #97c800 !important;
}
-.align-self-center {
- align-self: center !important;
+.text-info {
+ color: #0098df !important;
}
-.align-self-baseline {
- align-self: baseline !important;
+.text-warning {
+ color: #ffc000 !important;
}
-.align-self-stretch {
- align-self: stretch !important;
+.text-danger {
+ color: #e74018 !important;
}
-@media (min-width: 576px) {
- .flex-sm-row {
- flex-direction: row !important;
- }
+.text-light {
+ color: #f8f9fa !important;
+}
- .flex-sm-column {
- flex-direction: column !important;
- }
+.text-dark {
+ color: #212529 !important;
+}
- .flex-sm-row-reverse {
- flex-direction: row-reverse !important;
- }
+.text-white {
+ color: #fff !important;
+}
- .flex-sm-column-reverse {
- flex-direction: column-reverse !important;
- }
+.text-body {
+ color: #212529 !important;
+}
- .flex-sm-wrap {
- flex-wrap: wrap !important;
- }
+.text-muted {
+ color: #6c757d !important;
+}
- .flex-sm-nowrap {
- flex-wrap: nowrap !important;
- }
+.text-black-50 {
+ color: rgba(0, 0, 0, 0.5) !important;
+}
- .flex-sm-wrap-reverse {
- flex-wrap: wrap-reverse !important;
- }
+.text-white-50 {
+ color: rgba(255, 255, 255, 0.5) !important;
+}
- .flex-sm-fill {
- flex: 1 1 auto !important;
- }
+.text-reset {
+ color: inherit !important;
+}
- .flex-sm-grow-0 {
- flex-grow: 0 !important;
- }
+.lh-1 {
+ line-height: 1 !important;
+}
- .flex-sm-grow-1 {
- flex-grow: 1 !important;
- }
+.lh-sm {
+ line-height: 1.25 !important;
+}
- .flex-sm-shrink-0 {
- flex-shrink: 0 !important;
- }
+.lh-base {
+ line-height: 1.6 !important;
+}
- .flex-sm-shrink-1 {
- flex-shrink: 1 !important;
- }
+.lh-lg {
+ line-height: 2 !important;
+}
- .justify-content-sm-start {
- justify-content: flex-start !important;
- }
+.bg-primary {
+ background-color: #005dc5 !important;
+}
- .justify-content-sm-end {
- justify-content: flex-end !important;
- }
+.bg-secondary {
+ background-color: #6c757d !important;
+}
- .justify-content-sm-center {
- justify-content: center !important;
- }
+.bg-success {
+ background-color: #97c800 !important;
+}
- .justify-content-sm-between {
- justify-content: space-between !important;
- }
+.bg-info {
+ background-color: #0098df !important;
+}
- .justify-content-sm-around {
- justify-content: space-around !important;
- }
+.bg-warning {
+ background-color: #ffc000 !important;
+}
- .align-items-sm-start {
- align-items: flex-start !important;
- }
+.bg-danger {
+ background-color: #e74018 !important;
+}
- .align-items-sm-end {
- align-items: flex-end !important;
- }
+.bg-light {
+ background-color: #f8f9fa !important;
+}
- .align-items-sm-center {
- align-items: center !important;
- }
+.bg-dark {
+ background-color: #212529 !important;
+}
- .align-items-sm-baseline {
- align-items: baseline !important;
- }
+.bg-body {
+ background-color: #fff !important;
+}
- .align-items-sm-stretch {
- align-items: stretch !important;
- }
+.bg-white {
+ background-color: #fff !important;
+}
- .align-content-sm-start {
- align-content: flex-start !important;
- }
+.bg-transparent {
+ background-color: transparent !important;
+}
- .align-content-sm-end {
- align-content: flex-end !important;
- }
+.bg-gradient {
+ background-image: var(--bs-gradient) !important;
+}
- .align-content-sm-center {
- align-content: center !important;
- }
+.text-wrap {
+ white-space: normal !important;
+}
- .align-content-sm-between {
- align-content: space-between !important;
- }
+.text-nowrap {
+ white-space: nowrap !important;
+}
- .align-content-sm-around {
- align-content: space-around !important;
- }
+.text-decoration-none {
+ text-decoration: none !important;
+}
- .align-content-sm-stretch {
- align-content: stretch !important;
- }
+.text-decoration-underline {
+ text-decoration: underline !important;
+}
- .align-self-sm-auto {
- align-self: auto !important;
- }
+.text-decoration-line-through {
+ text-decoration: line-through !important;
+}
- .align-self-sm-start {
- align-self: flex-start !important;
- }
+/* rtl:begin:remove */
+.text-break {
+ word-wrap: break-word !important;
+ word-break: break-word !important;
+}
- .align-self-sm-end {
- align-self: flex-end !important;
- }
+/* rtl:end:remove */
+.font-monospace {
+ font-family: var(--bs-font-monospace) !important;
+}
- .align-self-sm-center {
- align-self: center !important;
- }
+.user-select-all {
+ -webkit-user-select: all !important;
+ -moz-user-select: all !important;
+ user-select: all !important;
+}
- .align-self-sm-baseline {
- align-self: baseline !important;
- }
+.user-select-auto {
+ -webkit-user-select: auto !important;
+ -moz-user-select: auto !important;
+ -ms-user-select: auto !important;
+ user-select: auto !important;
+}
- .align-self-sm-stretch {
- align-self: stretch !important;
- }
+.user-select-none {
+ -webkit-user-select: none !important;
+ -moz-user-select: none !important;
+ -ms-user-select: none !important;
+ user-select: none !important;
}
-@media (min-width: 768px) {
- .flex-md-row {
- flex-direction: row !important;
- }
- .flex-md-column {
- flex-direction: column !important;
- }
+.pe-none {
+ pointer-events: none !important;
+}
- .flex-md-row-reverse {
- flex-direction: row-reverse !important;
- }
+.pe-auto {
+ pointer-events: auto !important;
+}
- .flex-md-column-reverse {
- flex-direction: column-reverse !important;
- }
+.rounded {
+ border-radius: 0.25rem !important;
+}
- .flex-md-wrap {
- flex-wrap: wrap !important;
- }
+.rounded-0 {
+ border-radius: 0 !important;
+}
- .flex-md-nowrap {
- flex-wrap: nowrap !important;
- }
+.rounded-1 {
+ border-radius: 0.2rem !important;
+}
- .flex-md-wrap-reverse {
- flex-wrap: wrap-reverse !important;
- }
+.rounded-2 {
+ border-radius: 0.25rem !important;
+}
- .flex-md-fill {
- flex: 1 1 auto !important;
- }
+.rounded-3 {
+ border-radius: 0.3rem !important;
+}
- .flex-md-grow-0 {
- flex-grow: 0 !important;
- }
+.rounded-circle {
+ border-radius: 50% !important;
+}
- .flex-md-grow-1 {
- flex-grow: 1 !important;
- }
+.rounded-pill {
+ border-radius: 50rem !important;
+}
- .flex-md-shrink-0 {
- flex-shrink: 0 !important;
- }
+.rounded-top {
+ border-top-left-radius: 0.25rem !important;
+ border-top-right-radius: 0.25rem !important;
+}
- .flex-md-shrink-1 {
- flex-shrink: 1 !important;
- }
+.rounded-end {
+ border-top-right-radius: 0.25rem !important;
+ border-bottom-right-radius: 0.25rem !important;
+}
- .justify-content-md-start {
- justify-content: flex-start !important;
- }
+.rounded-bottom {
+ border-bottom-right-radius: 0.25rem !important;
+ border-bottom-left-radius: 0.25rem !important;
+}
- .justify-content-md-end {
- justify-content: flex-end !important;
- }
+.rounded-start {
+ border-bottom-left-radius: 0.25rem !important;
+ border-top-left-radius: 0.25rem !important;
+}
- .justify-content-md-center {
- justify-content: center !important;
- }
+.visible {
+ visibility: visible !important;
+}
- .justify-content-md-between {
- justify-content: space-between !important;
- }
+.invisible {
+ visibility: hidden !important;
+}
- .justify-content-md-around {
- justify-content: space-around !important;
+@media (min-width: 576px) {
+ .float-sm-start {
+ float: left !important;
}
- .align-items-md-start {
- align-items: flex-start !important;
+ .float-sm-end {
+ float: right !important;
}
- .align-items-md-end {
- align-items: flex-end !important;
+ .float-sm-none {
+ float: none !important;
}
- .align-items-md-center {
- align-items: center !important;
+ .d-sm-inline {
+ display: inline !important;
}
- .align-items-md-baseline {
- align-items: baseline !important;
+ .d-sm-inline-block {
+ display: inline-block !important;
}
- .align-items-md-stretch {
- align-items: stretch !important;
+ .d-sm-block {
+ display: block !important;
}
- .align-content-md-start {
- align-content: flex-start !important;
+ .d-sm-grid {
+ display: grid !important;
}
- .align-content-md-end {
- align-content: flex-end !important;
+ .d-sm-table {
+ display: table !important;
}
- .align-content-md-center {
- align-content: center !important;
+ .d-sm-table-row {
+ display: table-row !important;
}
- .align-content-md-between {
- align-content: space-between !important;
+ .d-sm-table-cell {
+ display: table-cell !important;
}
- .align-content-md-around {
- align-content: space-around !important;
+ .d-sm-flex {
+ display: flex !important;
}
- .align-content-md-stretch {
- align-content: stretch !important;
+ .d-sm-inline-flex {
+ display: inline-flex !important;
}
- .align-self-md-auto {
- align-self: auto !important;
+ .d-sm-none {
+ display: none !important;
}
- .align-self-md-start {
- align-self: flex-start !important;
+ .flex-sm-fill {
+ flex: 1 1 auto !important;
}
- .align-self-md-end {
- align-self: flex-end !important;
+ .flex-sm-row {
+ flex-direction: row !important;
}
- .align-self-md-center {
- align-self: center !important;
+ .flex-sm-column {
+ flex-direction: column !important;
}
- .align-self-md-baseline {
- align-self: baseline !important;
+ .flex-sm-row-reverse {
+ flex-direction: row-reverse !important;
}
- .align-self-md-stretch {
- align-self: stretch !important;
+ .flex-sm-column-reverse {
+ flex-direction: column-reverse !important;
}
-}
-@media (min-width: 992px) {
- .flex-lg-row {
- flex-direction: row !important;
+
+ .flex-sm-grow-0 {
+ flex-grow: 0 !important;
}
- .flex-lg-column {
- flex-direction: column !important;
+ .flex-sm-grow-1 {
+ flex-grow: 1 !important;
}
- .flex-lg-row-reverse {
- flex-direction: row-reverse !important;
+ .flex-sm-shrink-0 {
+ flex-shrink: 0 !important;
}
- .flex-lg-column-reverse {
- flex-direction: column-reverse !important;
+ .flex-sm-shrink-1 {
+ flex-shrink: 1 !important;
}
- .flex-lg-wrap {
+ .flex-sm-wrap {
flex-wrap: wrap !important;
}
- .flex-lg-nowrap {
+ .flex-sm-nowrap {
flex-wrap: nowrap !important;
}
- .flex-lg-wrap-reverse {
+ .flex-sm-wrap-reverse {
flex-wrap: wrap-reverse !important;
}
- .flex-lg-fill {
- flex: 1 1 auto !important;
+ .gap-sm-0 {
+ gap: 0 !important;
}
- .flex-lg-grow-0 {
- flex-grow: 0 !important;
+ .gap-sm-1 {
+ gap: 0.25rem !important;
}
- .flex-lg-grow-1 {
- flex-grow: 1 !important;
+ .gap-sm-2 {
+ gap: 0.5rem !important;
+ }
+
+ .gap-sm-3 {
+ gap: 1rem !important;
}
- .flex-lg-shrink-0 {
- flex-shrink: 0 !important;
+ .gap-sm-4 {
+ gap: 1.5rem !important;
}
- .flex-lg-shrink-1 {
- flex-shrink: 1 !important;
+ .gap-sm-5 {
+ gap: 3rem !important;
}
- .justify-content-lg-start {
+ .justify-content-sm-start {
justify-content: flex-start !important;
}
- .justify-content-lg-end {
+ .justify-content-sm-end {
justify-content: flex-end !important;
}
- .justify-content-lg-center {
+ .justify-content-sm-center {
justify-content: center !important;
}
- .justify-content-lg-between {
+ .justify-content-sm-between {
justify-content: space-between !important;
}
- .justify-content-lg-around {
+ .justify-content-sm-around {
justify-content: space-around !important;
}
- .align-items-lg-start {
+ .justify-content-sm-evenly {
+ justify-content: space-evenly !important;
+ }
+
+ .align-items-sm-start {
align-items: flex-start !important;
}
- .align-items-lg-end {
+ .align-items-sm-end {
align-items: flex-end !important;
}
- .align-items-lg-center {
+ .align-items-sm-center {
align-items: center !important;
}
- .align-items-lg-baseline {
+ .align-items-sm-baseline {
align-items: baseline !important;
}
- .align-items-lg-stretch {
+ .align-items-sm-stretch {
align-items: stretch !important;
}
- .align-content-lg-start {
+ .align-content-sm-start {
align-content: flex-start !important;
}
- .align-content-lg-end {
+ .align-content-sm-end {
align-content: flex-end !important;
}
- .align-content-lg-center {
+ .align-content-sm-center {
align-content: center !important;
}
- .align-content-lg-between {
+ .align-content-sm-between {
align-content: space-between !important;
}
- .align-content-lg-around {
+ .align-content-sm-around {
align-content: space-around !important;
}
- .align-content-lg-stretch {
+ .align-content-sm-stretch {
align-content: stretch !important;
}
- .align-self-lg-auto {
+ .align-self-sm-auto {
align-self: auto !important;
}
- .align-self-lg-start {
+ .align-self-sm-start {
align-self: flex-start !important;
}
- .align-self-lg-end {
+ .align-self-sm-end {
align-self: flex-end !important;
}
- .align-self-lg-center {
+ .align-self-sm-center {
align-self: center !important;
}
- .align-self-lg-baseline {
+ .align-self-sm-baseline {
align-self: baseline !important;
}
- .align-self-lg-stretch {
+ .align-self-sm-stretch {
align-self: stretch !important;
}
-}
-@media (min-width: 1200px) {
- .flex-xl-row {
- flex-direction: row !important;
- }
- .flex-xl-column {
- flex-direction: column !important;
+ .order-sm-first {
+ order: -1 !important;
}
- .flex-xl-row-reverse {
- flex-direction: row-reverse !important;
+ .order-sm-0 {
+ order: 0 !important;
}
- .flex-xl-column-reverse {
- flex-direction: column-reverse !important;
+ .order-sm-1 {
+ order: 1 !important;
}
- .flex-xl-wrap {
- flex-wrap: wrap !important;
+ .order-sm-2 {
+ order: 2 !important;
}
- .flex-xl-nowrap {
- flex-wrap: nowrap !important;
+ .order-sm-3 {
+ order: 3 !important;
}
- .flex-xl-wrap-reverse {
- flex-wrap: wrap-reverse !important;
+ .order-sm-4 {
+ order: 4 !important;
}
- .flex-xl-fill {
- flex: 1 1 auto !important;
+ .order-sm-5 {
+ order: 5 !important;
}
- .flex-xl-grow-0 {
- flex-grow: 0 !important;
+ .order-sm-last {
+ order: 6 !important;
}
- .flex-xl-grow-1 {
- flex-grow: 1 !important;
+ .m-sm-0 {
+ margin: 0 !important;
}
- .flex-xl-shrink-0 {
- flex-shrink: 0 !important;
+ .m-sm-1 {
+ margin: 0.25rem !important;
}
- .flex-xl-shrink-1 {
- flex-shrink: 1 !important;
+ .m-sm-2 {
+ margin: 0.5rem !important;
}
- .justify-content-xl-start {
- justify-content: flex-start !important;
+ .m-sm-3 {
+ margin: 1rem !important;
}
- .justify-content-xl-end {
- justify-content: flex-end !important;
+ .m-sm-4 {
+ margin: 1.5rem !important;
}
- .justify-content-xl-center {
- justify-content: center !important;
+ .m-sm-5 {
+ margin: 3rem !important;
}
- .justify-content-xl-between {
- justify-content: space-between !important;
+ .m-sm-auto {
+ margin: auto !important;
}
- .justify-content-xl-around {
- justify-content: space-around !important;
+ .mx-sm-0 {
+ margin-right: 0 !important;
+ margin-left: 0 !important;
}
- .align-items-xl-start {
- align-items: flex-start !important;
+ .mx-sm-1 {
+ margin-right: 0.25rem !important;
+ margin-left: 0.25rem !important;
}
- .align-items-xl-end {
- align-items: flex-end !important;
+ .mx-sm-2 {
+ margin-right: 0.5rem !important;
+ margin-left: 0.5rem !important;
}
- .align-items-xl-center {
- align-items: center !important;
+ .mx-sm-3 {
+ margin-right: 1rem !important;
+ margin-left: 1rem !important;
}
- .align-items-xl-baseline {
- align-items: baseline !important;
+ .mx-sm-4 {
+ margin-right: 1.5rem !important;
+ margin-left: 1.5rem !important;
}
- .align-items-xl-stretch {
- align-items: stretch !important;
+ .mx-sm-5 {
+ margin-right: 3rem !important;
+ margin-left: 3rem !important;
}
- .align-content-xl-start {
- align-content: flex-start !important;
+ .mx-sm-auto {
+ margin-right: auto !important;
+ margin-left: auto !important;
}
- .align-content-xl-end {
- align-content: flex-end !important;
+ .my-sm-0 {
+ margin-top: 0 !important;
+ margin-bottom: 0 !important;
}
- .align-content-xl-center {
- align-content: center !important;
+ .my-sm-1 {
+ margin-top: 0.25rem !important;
+ margin-bottom: 0.25rem !important;
}
- .align-content-xl-between {
- align-content: space-between !important;
+ .my-sm-2 {
+ margin-top: 0.5rem !important;
+ margin-bottom: 0.5rem !important;
}
- .align-content-xl-around {
- align-content: space-around !important;
+ .my-sm-3 {
+ margin-top: 1rem !important;
+ margin-bottom: 1rem !important;
}
- .align-content-xl-stretch {
- align-content: stretch !important;
+ .my-sm-4 {
+ margin-top: 1.5rem !important;
+ margin-bottom: 1.5rem !important;
}
- .align-self-xl-auto {
- align-self: auto !important;
+ .my-sm-5 {
+ margin-top: 3rem !important;
+ margin-bottom: 3rem !important;
}
- .align-self-xl-start {
- align-self: flex-start !important;
+ .my-sm-auto {
+ margin-top: auto !important;
+ margin-bottom: auto !important;
}
- .align-self-xl-end {
- align-self: flex-end !important;
+ .mt-sm-0 {
+ margin-top: 0 !important;
}
- .align-self-xl-center {
- align-self: center !important;
+ .mt-sm-1 {
+ margin-top: 0.25rem !important;
}
- .align-self-xl-baseline {
- align-self: baseline !important;
+ .mt-sm-2 {
+ margin-top: 0.5rem !important;
}
- .align-self-xl-stretch {
- align-self: stretch !important;
+ .mt-sm-3 {
+ margin-top: 1rem !important;
}
-}
-.float-left {
- float: left !important;
-}
-
-.float-right {
- float: right !important;
-}
-
-.float-none {
- float: none !important;
-}
-@media (min-width: 576px) {
- .float-sm-left {
- float: left !important;
+ .mt-sm-4 {
+ margin-top: 1.5rem !important;
}
- .float-sm-right {
- float: right !important;
+ .mt-sm-5 {
+ margin-top: 3rem !important;
}
- .float-sm-none {
- float: none !important;
- }
-}
-@media (min-width: 768px) {
- .float-md-left {
- float: left !important;
+ .mt-sm-auto {
+ margin-top: auto !important;
}
- .float-md-right {
- float: right !important;
+ .me-sm-0 {
+ margin-right: 0 !important;
}
- .float-md-none {
- float: none !important;
- }
-}
-@media (min-width: 992px) {
- .float-lg-left {
- float: left !important;
+ .me-sm-1 {
+ margin-right: 0.25rem !important;
}
- .float-lg-right {
- float: right !important;
+ .me-sm-2 {
+ margin-right: 0.5rem !important;
}
- .float-lg-none {
- float: none !important;
- }
-}
-@media (min-width: 1200px) {
- .float-xl-left {
- float: left !important;
+ .me-sm-3 {
+ margin-right: 1rem !important;
}
- .float-xl-right {
- float: right !important;
+ .me-sm-4 {
+ margin-right: 1.5rem !important;
}
- .float-xl-none {
- float: none !important;
+ .me-sm-5 {
+ margin-right: 3rem !important;
}
-}
-.user-select-all {
- -webkit-user-select: all !important;
- -moz-user-select: all !important;
- -ms-user-select: all !important;
- user-select: all !important;
-}
-.user-select-auto {
- -webkit-user-select: auto !important;
- -moz-user-select: auto !important;
- -ms-user-select: auto !important;
- user-select: auto !important;
-}
+ .me-sm-auto {
+ margin-right: auto !important;
+ }
-.user-select-none {
- -webkit-user-select: none !important;
- -moz-user-select: none !important;
- -ms-user-select: none !important;
- user-select: none !important;
-}
+ .mb-sm-0 {
+ margin-bottom: 0 !important;
+ }
-.overflow-auto {
- overflow: auto !important;
-}
+ .mb-sm-1 {
+ margin-bottom: 0.25rem !important;
+ }
-.overflow-hidden {
- overflow: hidden !important;
-}
+ .mb-sm-2 {
+ margin-bottom: 0.5rem !important;
+ }
-.position-static {
- position: static !important;
-}
+ .mb-sm-3 {
+ margin-bottom: 1rem !important;
+ }
-.position-relative {
- position: relative !important;
-}
+ .mb-sm-4 {
+ margin-bottom: 1.5rem !important;
+ }
-.position-absolute {
- position: absolute !important;
-}
+ .mb-sm-5 {
+ margin-bottom: 3rem !important;
+ }
-.position-fixed {
- position: fixed !important;
-}
+ .mb-sm-auto {
+ margin-bottom: auto !important;
+ }
-.position-sticky {
- position: -webkit-sticky !important;
- position: sticky !important;
-}
+ .ms-sm-0 {
+ margin-left: 0 !important;
+ }
-.fixed-top {
- position: fixed;
- top: 0;
- right: 0;
- left: 0;
- z-index: 1030;
-}
+ .ms-sm-1 {
+ margin-left: 0.25rem !important;
+ }
-.fixed-bottom {
- position: fixed;
- right: 0;
- bottom: 0;
- left: 0;
- z-index: 1030;
-}
+ .ms-sm-2 {
+ margin-left: 0.5rem !important;
+ }
-@supports ((position: -webkit-sticky) or (position: sticky)) {
- .sticky-top {
- position: -webkit-sticky;
- position: sticky;
- top: 0;
- z-index: 1020;
+ .ms-sm-3 {
+ margin-left: 1rem !important;
}
-}
-.sr-only {
- position: absolute;
- width: 1px;
- height: 1px;
- padding: 0;
- margin: -1px;
- overflow: hidden;
- clip: rect(0, 0, 0, 0);
- white-space: nowrap;
- border: 0;
-}
+ .ms-sm-4 {
+ margin-left: 1.5rem !important;
+ }
-.sr-only-focusable:active, .sr-only-focusable:focus {
- position: static;
- width: auto;
- height: auto;
- overflow: visible;
- clip: auto;
- white-space: normal;
-}
+ .ms-sm-5 {
+ margin-left: 3rem !important;
+ }
-.shadow-sm {
- box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important;
-}
+ .ms-sm-auto {
+ margin-left: auto !important;
+ }
-.shadow {
- box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important;
-}
+ .p-sm-0 {
+ padding: 0 !important;
+ }
-.shadow-lg {
- box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important;
-}
+ .p-sm-1 {
+ padding: 0.25rem !important;
+ }
-.shadow-none {
- box-shadow: none !important;
-}
+ .p-sm-2 {
+ padding: 0.5rem !important;
+ }
-.w-25 {
- width: 25% !important;
-}
+ .p-sm-3 {
+ padding: 1rem !important;
+ }
-.w-50 {
- width: 50% !important;
-}
+ .p-sm-4 {
+ padding: 1.5rem !important;
+ }
-.w-75 {
- width: 75% !important;
-}
+ .p-sm-5 {
+ padding: 3rem !important;
+ }
-.w-100 {
- width: 100% !important;
-}
+ .px-sm-0 {
+ padding-right: 0 !important;
+ padding-left: 0 !important;
+ }
-.w-auto {
- width: auto !important;
-}
+ .px-sm-1 {
+ padding-right: 0.25rem !important;
+ padding-left: 0.25rem !important;
+ }
-.h-25 {
- height: 25% !important;
-}
+ .px-sm-2 {
+ padding-right: 0.5rem !important;
+ padding-left: 0.5rem !important;
+ }
-.h-50 {
- height: 50% !important;
-}
+ .px-sm-3 {
+ padding-right: 1rem !important;
+ padding-left: 1rem !important;
+ }
-.h-75 {
- height: 75% !important;
-}
+ .px-sm-4 {
+ padding-right: 1.5rem !important;
+ padding-left: 1.5rem !important;
+ }
-.h-100 {
- height: 100% !important;
-}
+ .px-sm-5 {
+ padding-right: 3rem !important;
+ padding-left: 3rem !important;
+ }
-.h-auto {
- height: auto !important;
-}
+ .py-sm-0 {
+ padding-top: 0 !important;
+ padding-bottom: 0 !important;
+ }
-.mw-100 {
- max-width: 100% !important;
-}
+ .py-sm-1 {
+ padding-top: 0.25rem !important;
+ padding-bottom: 0.25rem !important;
+ }
-.mh-100 {
- max-height: 100% !important;
-}
+ .py-sm-2 {
+ padding-top: 0.5rem !important;
+ padding-bottom: 0.5rem !important;
+ }
-.min-vw-100 {
- min-width: 100vw !important;
-}
+ .py-sm-3 {
+ padding-top: 1rem !important;
+ padding-bottom: 1rem !important;
+ }
-.min-vh-100 {
- min-height: 100vh !important;
-}
+ .py-sm-4 {
+ padding-top: 1.5rem !important;
+ padding-bottom: 1.5rem !important;
+ }
-.vw-100 {
- width: 100vw !important;
-}
+ .py-sm-5 {
+ padding-top: 3rem !important;
+ padding-bottom: 3rem !important;
+ }
-.vh-100 {
- height: 100vh !important;
-}
+ .pt-sm-0 {
+ padding-top: 0 !important;
+ }
-.m-0 {
- margin: 0 !important;
-}
+ .pt-sm-1 {
+ padding-top: 0.25rem !important;
+ }
-.mt-0,
-.my-0 {
- margin-top: 0 !important;
-}
+ .pt-sm-2 {
+ padding-top: 0.5rem !important;
+ }
-.mr-0,
-.mx-0 {
- margin-right: 0 !important;
-}
+ .pt-sm-3 {
+ padding-top: 1rem !important;
+ }
-.mb-0,
-.my-0 {
- margin-bottom: 0 !important;
-}
+ .pt-sm-4 {
+ padding-top: 1.5rem !important;
+ }
-.ml-0,
-.mx-0 {
- margin-left: 0 !important;
-}
+ .pt-sm-5 {
+ padding-top: 3rem !important;
+ }
-.m-1 {
- margin: 0.25rem !important;
-}
+ .pe-sm-0 {
+ padding-right: 0 !important;
+ }
-.mt-1,
-.my-1 {
- margin-top: 0.25rem !important;
-}
+ .pe-sm-1 {
+ padding-right: 0.25rem !important;
+ }
-.mr-1,
-.mx-1 {
- margin-right: 0.25rem !important;
-}
+ .pe-sm-2 {
+ padding-right: 0.5rem !important;
+ }
-.mb-1,
-.my-1 {
- margin-bottom: 0.25rem !important;
-}
+ .pe-sm-3 {
+ padding-right: 1rem !important;
+ }
-.ml-1,
-.mx-1 {
- margin-left: 0.25rem !important;
-}
+ .pe-sm-4 {
+ padding-right: 1.5rem !important;
+ }
-.m-2 {
- margin: 0.5rem !important;
-}
+ .pe-sm-5 {
+ padding-right: 3rem !important;
+ }
-.mt-2,
-.my-2 {
- margin-top: 0.5rem !important;
-}
+ .pb-sm-0 {
+ padding-bottom: 0 !important;
+ }
-.mr-2,
-.mx-2 {
- margin-right: 0.5rem !important;
-}
+ .pb-sm-1 {
+ padding-bottom: 0.25rem !important;
+ }
-.mb-2,
-.my-2 {
- margin-bottom: 0.5rem !important;
-}
+ .pb-sm-2 {
+ padding-bottom: 0.5rem !important;
+ }
-.ml-2,
-.mx-2 {
- margin-left: 0.5rem !important;
-}
+ .pb-sm-3 {
+ padding-bottom: 1rem !important;
+ }
-.m-3 {
- margin: 1rem !important;
-}
+ .pb-sm-4 {
+ padding-bottom: 1.5rem !important;
+ }
-.mt-3,
-.my-3 {
- margin-top: 1rem !important;
-}
+ .pb-sm-5 {
+ padding-bottom: 3rem !important;
+ }
-.mr-3,
-.mx-3 {
- margin-right: 1rem !important;
-}
+ .ps-sm-0 {
+ padding-left: 0 !important;
+ }
-.mb-3,
-.my-3 {
- margin-bottom: 1rem !important;
-}
+ .ps-sm-1 {
+ padding-left: 0.25rem !important;
+ }
-.ml-3,
-.mx-3 {
- margin-left: 1rem !important;
-}
+ .ps-sm-2 {
+ padding-left: 0.5rem !important;
+ }
-.m-4 {
- margin: 1.5rem !important;
-}
+ .ps-sm-3 {
+ padding-left: 1rem !important;
+ }
-.mt-4,
-.my-4 {
- margin-top: 1.5rem !important;
-}
+ .ps-sm-4 {
+ padding-left: 1.5rem !important;
+ }
-.mr-4,
-.mx-4 {
- margin-right: 1.5rem !important;
-}
+ .ps-sm-5 {
+ padding-left: 3rem !important;
+ }
-.mb-4,
-.my-4 {
- margin-bottom: 1.5rem !important;
-}
+ .text-sm-start {
+ text-align: left !important;
+ }
-.ml-4,
-.mx-4 {
- margin-left: 1.5rem !important;
-}
+ .text-sm-end {
+ text-align: right !important;
+ }
-.m-5 {
- margin: 3rem !important;
+ .text-sm-center {
+ text-align: center !important;
+ }
}
+@media (min-width: 768px) {
+ .float-md-start {
+ float: left !important;
+ }
-.mt-5,
-.my-5 {
- margin-top: 3rem !important;
-}
+ .float-md-end {
+ float: right !important;
+ }
-.mr-5,
-.mx-5 {
- margin-right: 3rem !important;
-}
+ .float-md-none {
+ float: none !important;
+ }
-.mb-5,
-.my-5 {
- margin-bottom: 3rem !important;
-}
+ .d-md-inline {
+ display: inline !important;
+ }
-.ml-5,
-.mx-5 {
- margin-left: 3rem !important;
-}
+ .d-md-inline-block {
+ display: inline-block !important;
+ }
-.p-0 {
- padding: 0 !important;
-}
+ .d-md-block {
+ display: block !important;
+ }
-.pt-0,
-.py-0 {
- padding-top: 0 !important;
-}
+ .d-md-grid {
+ display: grid !important;
+ }
-.pr-0,
-.px-0 {
- padding-right: 0 !important;
-}
+ .d-md-table {
+ display: table !important;
+ }
-.pb-0,
-.py-0 {
- padding-bottom: 0 !important;
-}
+ .d-md-table-row {
+ display: table-row !important;
+ }
-.pl-0,
-.px-0 {
- padding-left: 0 !important;
-}
+ .d-md-table-cell {
+ display: table-cell !important;
+ }
-.p-1 {
- padding: 0.25rem !important;
-}
+ .d-md-flex {
+ display: flex !important;
+ }
-.pt-1,
-.py-1 {
- padding-top: 0.25rem !important;
-}
+ .d-md-inline-flex {
+ display: inline-flex !important;
+ }
-.pr-1,
-.px-1 {
- padding-right: 0.25rem !important;
-}
+ .d-md-none {
+ display: none !important;
+ }
-.pb-1,
-.py-1 {
- padding-bottom: 0.25rem !important;
-}
+ .flex-md-fill {
+ flex: 1 1 auto !important;
+ }
-.pl-1,
-.px-1 {
- padding-left: 0.25rem !important;
-}
+ .flex-md-row {
+ flex-direction: row !important;
+ }
-.p-2 {
- padding: 0.5rem !important;
-}
+ .flex-md-column {
+ flex-direction: column !important;
+ }
-.pt-2,
-.py-2 {
- padding-top: 0.5rem !important;
-}
+ .flex-md-row-reverse {
+ flex-direction: row-reverse !important;
+ }
-.pr-2,
-.px-2 {
- padding-right: 0.5rem !important;
-}
+ .flex-md-column-reverse {
+ flex-direction: column-reverse !important;
+ }
-.pb-2,
-.py-2 {
- padding-bottom: 0.5rem !important;
-}
+ .flex-md-grow-0 {
+ flex-grow: 0 !important;
+ }
-.pl-2,
-.px-2 {
- padding-left: 0.5rem !important;
-}
+ .flex-md-grow-1 {
+ flex-grow: 1 !important;
+ }
-.p-3 {
- padding: 1rem !important;
-}
+ .flex-md-shrink-0 {
+ flex-shrink: 0 !important;
+ }
-.pt-3,
-.py-3 {
- padding-top: 1rem !important;
-}
+ .flex-md-shrink-1 {
+ flex-shrink: 1 !important;
+ }
-.pr-3,
-.px-3 {
- padding-right: 1rem !important;
-}
+ .flex-md-wrap {
+ flex-wrap: wrap !important;
+ }
-.pb-3,
-.py-3 {
- padding-bottom: 1rem !important;
-}
+ .flex-md-nowrap {
+ flex-wrap: nowrap !important;
+ }
-.pl-3,
-.px-3 {
- padding-left: 1rem !important;
-}
+ .flex-md-wrap-reverse {
+ flex-wrap: wrap-reverse !important;
+ }
-.p-4 {
- padding: 1.5rem !important;
-}
+ .gap-md-0 {
+ gap: 0 !important;
+ }
-.pt-4,
-.py-4 {
- padding-top: 1.5rem !important;
-}
+ .gap-md-1 {
+ gap: 0.25rem !important;
+ }
-.pr-4,
-.px-4 {
- padding-right: 1.5rem !important;
-}
+ .gap-md-2 {
+ gap: 0.5rem !important;
+ }
-.pb-4,
-.py-4 {
- padding-bottom: 1.5rem !important;
-}
+ .gap-md-3 {
+ gap: 1rem !important;
+ }
-.pl-4,
-.px-4 {
- padding-left: 1.5rem !important;
-}
+ .gap-md-4 {
+ gap: 1.5rem !important;
+ }
-.p-5 {
- padding: 3rem !important;
-}
+ .gap-md-5 {
+ gap: 3rem !important;
+ }
-.pt-5,
-.py-5 {
- padding-top: 3rem !important;
-}
+ .justify-content-md-start {
+ justify-content: flex-start !important;
+ }
-.pr-5,
-.px-5 {
- padding-right: 3rem !important;
-}
+ .justify-content-md-end {
+ justify-content: flex-end !important;
+ }
-.pb-5,
-.py-5 {
- padding-bottom: 3rem !important;
-}
+ .justify-content-md-center {
+ justify-content: center !important;
+ }
-.pl-5,
-.px-5 {
- padding-left: 3rem !important;
-}
+ .justify-content-md-between {
+ justify-content: space-between !important;
+ }
-.m-n1 {
- margin: -0.25rem !important;
-}
+ .justify-content-md-around {
+ justify-content: space-around !important;
+ }
-.mt-n1,
-.my-n1 {
- margin-top: -0.25rem !important;
-}
+ .justify-content-md-evenly {
+ justify-content: space-evenly !important;
+ }
-.mr-n1,
-.mx-n1 {
- margin-right: -0.25rem !important;
-}
+ .align-items-md-start {
+ align-items: flex-start !important;
+ }
-.mb-n1,
-.my-n1 {
- margin-bottom: -0.25rem !important;
-}
+ .align-items-md-end {
+ align-items: flex-end !important;
+ }
-.ml-n1,
-.mx-n1 {
- margin-left: -0.25rem !important;
-}
+ .align-items-md-center {
+ align-items: center !important;
+ }
-.m-n2 {
- margin: -0.5rem !important;
-}
+ .align-items-md-baseline {
+ align-items: baseline !important;
+ }
-.mt-n2,
-.my-n2 {
- margin-top: -0.5rem !important;
-}
+ .align-items-md-stretch {
+ align-items: stretch !important;
+ }
-.mr-n2,
-.mx-n2 {
- margin-right: -0.5rem !important;
-}
+ .align-content-md-start {
+ align-content: flex-start !important;
+ }
-.mb-n2,
-.my-n2 {
- margin-bottom: -0.5rem !important;
-}
+ .align-content-md-end {
+ align-content: flex-end !important;
+ }
-.ml-n2,
-.mx-n2 {
- margin-left: -0.5rem !important;
-}
+ .align-content-md-center {
+ align-content: center !important;
+ }
-.m-n3 {
- margin: -1rem !important;
-}
+ .align-content-md-between {
+ align-content: space-between !important;
+ }
-.mt-n3,
-.my-n3 {
- margin-top: -1rem !important;
-}
+ .align-content-md-around {
+ align-content: space-around !important;
+ }
-.mr-n3,
-.mx-n3 {
- margin-right: -1rem !important;
-}
+ .align-content-md-stretch {
+ align-content: stretch !important;
+ }
-.mb-n3,
-.my-n3 {
- margin-bottom: -1rem !important;
-}
+ .align-self-md-auto {
+ align-self: auto !important;
+ }
-.ml-n3,
-.mx-n3 {
- margin-left: -1rem !important;
-}
+ .align-self-md-start {
+ align-self: flex-start !important;
+ }
-.m-n4 {
- margin: -1.5rem !important;
-}
+ .align-self-md-end {
+ align-self: flex-end !important;
+ }
-.mt-n4,
-.my-n4 {
- margin-top: -1.5rem !important;
-}
+ .align-self-md-center {
+ align-self: center !important;
+ }
-.mr-n4,
-.mx-n4 {
- margin-right: -1.5rem !important;
-}
+ .align-self-md-baseline {
+ align-self: baseline !important;
+ }
-.mb-n4,
-.my-n4 {
- margin-bottom: -1.5rem !important;
-}
+ .align-self-md-stretch {
+ align-self: stretch !important;
+ }
-.ml-n4,
-.mx-n4 {
- margin-left: -1.5rem !important;
-}
+ .order-md-first {
+ order: -1 !important;
+ }
-.m-n5 {
- margin: -3rem !important;
-}
+ .order-md-0 {
+ order: 0 !important;
+ }
-.mt-n5,
-.my-n5 {
- margin-top: -3rem !important;
-}
+ .order-md-1 {
+ order: 1 !important;
+ }
-.mr-n5,
-.mx-n5 {
- margin-right: -3rem !important;
-}
+ .order-md-2 {
+ order: 2 !important;
+ }
-.mb-n5,
-.my-n5 {
- margin-bottom: -3rem !important;
-}
+ .order-md-3 {
+ order: 3 !important;
+ }
-.ml-n5,
-.mx-n5 {
- margin-left: -3rem !important;
-}
+ .order-md-4 {
+ order: 4 !important;
+ }
-.m-auto {
- margin: auto !important;
-}
+ .order-md-5 {
+ order: 5 !important;
+ }
-.mt-auto,
-.my-auto {
- margin-top: auto !important;
-}
+ .order-md-last {
+ order: 6 !important;
+ }
-.mr-auto,
-.mx-auto {
- margin-right: auto !important;
-}
+ .m-md-0 {
+ margin: 0 !important;
+ }
-.mb-auto,
-.my-auto {
- margin-bottom: auto !important;
-}
+ .m-md-1 {
+ margin: 0.25rem !important;
+ }
-.ml-auto,
-.mx-auto {
- margin-left: auto !important;
-}
+ .m-md-2 {
+ margin: 0.5rem !important;
+ }
-@media (min-width: 576px) {
- .m-sm-0 {
- margin: 0 !important;
+ .m-md-3 {
+ margin: 1rem !important;
}
- .mt-sm-0,
-.my-sm-0 {
- margin-top: 0 !important;
+ .m-md-4 {
+ margin: 1.5rem !important;
}
- .mr-sm-0,
-.mx-sm-0 {
- margin-right: 0 !important;
+ .m-md-5 {
+ margin: 3rem !important;
}
- .mb-sm-0,
-.my-sm-0 {
- margin-bottom: 0 !important;
+ .m-md-auto {
+ margin: auto !important;
}
- .ml-sm-0,
-.mx-sm-0 {
+ .mx-md-0 {
+ margin-right: 0 !important;
margin-left: 0 !important;
}
- .m-sm-1 {
- margin: 0.25rem !important;
+ .mx-md-1 {
+ margin-right: 0.25rem !important;
+ margin-left: 0.25rem !important;
}
- .mt-sm-1,
-.my-sm-1 {
- margin-top: 0.25rem !important;
+ .mx-md-2 {
+ margin-right: 0.5rem !important;
+ margin-left: 0.5rem !important;
}
- .mr-sm-1,
-.mx-sm-1 {
- margin-right: 0.25rem !important;
+ .mx-md-3 {
+ margin-right: 1rem !important;
+ margin-left: 1rem !important;
}
- .mb-sm-1,
-.my-sm-1 {
- margin-bottom: 0.25rem !important;
+ .mx-md-4 {
+ margin-right: 1.5rem !important;
+ margin-left: 1.5rem !important;
}
- .ml-sm-1,
-.mx-sm-1 {
- margin-left: 0.25rem !important;
+ .mx-md-5 {
+ margin-right: 3rem !important;
+ margin-left: 3rem !important;
}
- .m-sm-2 {
- margin: 0.5rem !important;
+ .mx-md-auto {
+ margin-right: auto !important;
+ margin-left: auto !important;
}
- .mt-sm-2,
-.my-sm-2 {
- margin-top: 0.5rem !important;
+ .my-md-0 {
+ margin-top: 0 !important;
+ margin-bottom: 0 !important;
}
- .mr-sm-2,
-.mx-sm-2 {
- margin-right: 0.5rem !important;
+ .my-md-1 {
+ margin-top: 0.25rem !important;
+ margin-bottom: 0.25rem !important;
}
- .mb-sm-2,
-.my-sm-2 {
+ .my-md-2 {
+ margin-top: 0.5rem !important;
margin-bottom: 0.5rem !important;
}
- .ml-sm-2,
-.mx-sm-2 {
- margin-left: 0.5rem !important;
+ .my-md-3 {
+ margin-top: 1rem !important;
+ margin-bottom: 1rem !important;
}
- .m-sm-3 {
- margin: 1rem !important;
+ .my-md-4 {
+ margin-top: 1.5rem !important;
+ margin-bottom: 1.5rem !important;
}
- .mt-sm-3,
-.my-sm-3 {
- margin-top: 1rem !important;
+ .my-md-5 {
+ margin-top: 3rem !important;
+ margin-bottom: 3rem !important;
}
- .mr-sm-3,
-.mx-sm-3 {
- margin-right: 1rem !important;
+ .my-md-auto {
+ margin-top: auto !important;
+ margin-bottom: auto !important;
}
- .mb-sm-3,
-.my-sm-3 {
- margin-bottom: 1rem !important;
+ .mt-md-0 {
+ margin-top: 0 !important;
}
- .ml-sm-3,
-.mx-sm-3 {
- margin-left: 1rem !important;
+ .mt-md-1 {
+ margin-top: 0.25rem !important;
}
- .m-sm-4 {
- margin: 1.5rem !important;
+ .mt-md-2 {
+ margin-top: 0.5rem !important;
}
- .mt-sm-4,
-.my-sm-4 {
- margin-top: 1.5rem !important;
+ .mt-md-3 {
+ margin-top: 1rem !important;
}
- .mr-sm-4,
-.mx-sm-4 {
- margin-right: 1.5rem !important;
+ .mt-md-4 {
+ margin-top: 1.5rem !important;
}
- .mb-sm-4,
-.my-sm-4 {
- margin-bottom: 1.5rem !important;
+ .mt-md-5 {
+ margin-top: 3rem !important;
}
- .ml-sm-4,
-.mx-sm-4 {
- margin-left: 1.5rem !important;
+ .mt-md-auto {
+ margin-top: auto !important;
}
- .m-sm-5 {
- margin: 3rem !important;
+ .me-md-0 {
+ margin-right: 0 !important;
}
- .mt-sm-5,
-.my-sm-5 {
- margin-top: 3rem !important;
+ .me-md-1 {
+ margin-right: 0.25rem !important;
}
- .mr-sm-5,
-.mx-sm-5 {
- margin-right: 3rem !important;
+ .me-md-2 {
+ margin-right: 0.5rem !important;
}
- .mb-sm-5,
-.my-sm-5 {
- margin-bottom: 3rem !important;
+ .me-md-3 {
+ margin-right: 1rem !important;
}
- .ml-sm-5,
-.mx-sm-5 {
- margin-left: 3rem !important;
+ .me-md-4 {
+ margin-right: 1.5rem !important;
}
- .p-sm-0 {
- padding: 0 !important;
+ .me-md-5 {
+ margin-right: 3rem !important;
}
- .pt-sm-0,
-.py-sm-0 {
- padding-top: 0 !important;
+ .me-md-auto {
+ margin-right: auto !important;
}
- .pr-sm-0,
-.px-sm-0 {
- padding-right: 0 !important;
+ .mb-md-0 {
+ margin-bottom: 0 !important;
}
- .pb-sm-0,
-.py-sm-0 {
- padding-bottom: 0 !important;
+ .mb-md-1 {
+ margin-bottom: 0.25rem !important;
}
- .pl-sm-0,
-.px-sm-0 {
- padding-left: 0 !important;
+ .mb-md-2 {
+ margin-bottom: 0.5rem !important;
}
- .p-sm-1 {
- padding: 0.25rem !important;
+ .mb-md-3 {
+ margin-bottom: 1rem !important;
}
- .pt-sm-1,
-.py-sm-1 {
- padding-top: 0.25rem !important;
+ .mb-md-4 {
+ margin-bottom: 1.5rem !important;
}
- .pr-sm-1,
-.px-sm-1 {
- padding-right: 0.25rem !important;
+ .mb-md-5 {
+ margin-bottom: 3rem !important;
}
- .pb-sm-1,
-.py-sm-1 {
- padding-bottom: 0.25rem !important;
+ .mb-md-auto {
+ margin-bottom: auto !important;
}
- .pl-sm-1,
-.px-sm-1 {
- padding-left: 0.25rem !important;
+ .ms-md-0 {
+ margin-left: 0 !important;
}
- .p-sm-2 {
- padding: 0.5rem !important;
+ .ms-md-1 {
+ margin-left: 0.25rem !important;
}
- .pt-sm-2,
-.py-sm-2 {
- padding-top: 0.5rem !important;
+ .ms-md-2 {
+ margin-left: 0.5rem !important;
}
- .pr-sm-2,
-.px-sm-2 {
- padding-right: 0.5rem !important;
+ .ms-md-3 {
+ margin-left: 1rem !important;
}
- .pb-sm-2,
-.py-sm-2 {
- padding-bottom: 0.5rem !important;
+ .ms-md-4 {
+ margin-left: 1.5rem !important;
}
- .pl-sm-2,
-.px-sm-2 {
- padding-left: 0.5rem !important;
+ .ms-md-5 {
+ margin-left: 3rem !important;
}
- .p-sm-3 {
- padding: 1rem !important;
+ .ms-md-auto {
+ margin-left: auto !important;
}
- .pt-sm-3,
-.py-sm-3 {
- padding-top: 1rem !important;
+ .p-md-0 {
+ padding: 0 !important;
}
- .pr-sm-3,
-.px-sm-3 {
- padding-right: 1rem !important;
+ .p-md-1 {
+ padding: 0.25rem !important;
}
- .pb-sm-3,
-.py-sm-3 {
- padding-bottom: 1rem !important;
+ .p-md-2 {
+ padding: 0.5rem !important;
}
- .pl-sm-3,
-.px-sm-3 {
- padding-left: 1rem !important;
+ .p-md-3 {
+ padding: 1rem !important;
}
- .p-sm-4 {
+ .p-md-4 {
padding: 1.5rem !important;
}
- .pt-sm-4,
-.py-sm-4 {
- padding-top: 1.5rem !important;
+ .p-md-5 {
+ padding: 3rem !important;
}
- .pr-sm-4,
-.px-sm-4 {
- padding-right: 1.5rem !important;
+ .px-md-0 {
+ padding-right: 0 !important;
+ padding-left: 0 !important;
}
- .pb-sm-4,
-.py-sm-4 {
- padding-bottom: 1.5rem !important;
+ .px-md-1 {
+ padding-right: 0.25rem !important;
+ padding-left: 0.25rem !important;
}
- .pl-sm-4,
-.px-sm-4 {
- padding-left: 1.5rem !important;
+ .px-md-2 {
+ padding-right: 0.5rem !important;
+ padding-left: 0.5rem !important;
}
- .p-sm-5 {
- padding: 3rem !important;
+ .px-md-3 {
+ padding-right: 1rem !important;
+ padding-left: 1rem !important;
}
- .pt-sm-5,
-.py-sm-5 {
- padding-top: 3rem !important;
+ .px-md-4 {
+ padding-right: 1.5rem !important;
+ padding-left: 1.5rem !important;
}
- .pr-sm-5,
-.px-sm-5 {
+ .px-md-5 {
padding-right: 3rem !important;
+ padding-left: 3rem !important;
}
- .pb-sm-5,
-.py-sm-5 {
- padding-bottom: 3rem !important;
+ .py-md-0 {
+ padding-top: 0 !important;
+ padding-bottom: 0 !important;
}
- .pl-sm-5,
-.px-sm-5 {
- padding-left: 3rem !important;
+ .py-md-1 {
+ padding-top: 0.25rem !important;
+ padding-bottom: 0.25rem !important;
+ }
+
+ .py-md-2 {
+ padding-top: 0.5rem !important;
+ padding-bottom: 0.5rem !important;
}
- .m-sm-n1 {
- margin: -0.25rem !important;
+ .py-md-3 {
+ padding-top: 1rem !important;
+ padding-bottom: 1rem !important;
}
- .mt-sm-n1,
-.my-sm-n1 {
- margin-top: -0.25rem !important;
+ .py-md-4 {
+ padding-top: 1.5rem !important;
+ padding-bottom: 1.5rem !important;
}
- .mr-sm-n1,
-.mx-sm-n1 {
- margin-right: -0.25rem !important;
+ .py-md-5 {
+ padding-top: 3rem !important;
+ padding-bottom: 3rem !important;
}
- .mb-sm-n1,
-.my-sm-n1 {
- margin-bottom: -0.25rem !important;
+ .pt-md-0 {
+ padding-top: 0 !important;
}
- .ml-sm-n1,
-.mx-sm-n1 {
- margin-left: -0.25rem !important;
+ .pt-md-1 {
+ padding-top: 0.25rem !important;
}
- .m-sm-n2 {
- margin: -0.5rem !important;
+ .pt-md-2 {
+ padding-top: 0.5rem !important;
}
- .mt-sm-n2,
-.my-sm-n2 {
- margin-top: -0.5rem !important;
+ .pt-md-3 {
+ padding-top: 1rem !important;
}
- .mr-sm-n2,
-.mx-sm-n2 {
- margin-right: -0.5rem !important;
+ .pt-md-4 {
+ padding-top: 1.5rem !important;
}
- .mb-sm-n2,
-.my-sm-n2 {
- margin-bottom: -0.5rem !important;
+ .pt-md-5 {
+ padding-top: 3rem !important;
}
- .ml-sm-n2,
-.mx-sm-n2 {
- margin-left: -0.5rem !important;
+ .pe-md-0 {
+ padding-right: 0 !important;
}
- .m-sm-n3 {
- margin: -1rem !important;
+ .pe-md-1 {
+ padding-right: 0.25rem !important;
}
- .mt-sm-n3,
-.my-sm-n3 {
- margin-top: -1rem !important;
+ .pe-md-2 {
+ padding-right: 0.5rem !important;
}
- .mr-sm-n3,
-.mx-sm-n3 {
- margin-right: -1rem !important;
+ .pe-md-3 {
+ padding-right: 1rem !important;
}
- .mb-sm-n3,
-.my-sm-n3 {
- margin-bottom: -1rem !important;
+ .pe-md-4 {
+ padding-right: 1.5rem !important;
}
- .ml-sm-n3,
-.mx-sm-n3 {
- margin-left: -1rem !important;
+ .pe-md-5 {
+ padding-right: 3rem !important;
}
- .m-sm-n4 {
- margin: -1.5rem !important;
+ .pb-md-0 {
+ padding-bottom: 0 !important;
}
- .mt-sm-n4,
-.my-sm-n4 {
- margin-top: -1.5rem !important;
+ .pb-md-1 {
+ padding-bottom: 0.25rem !important;
}
- .mr-sm-n4,
-.mx-sm-n4 {
- margin-right: -1.5rem !important;
+ .pb-md-2 {
+ padding-bottom: 0.5rem !important;
}
- .mb-sm-n4,
-.my-sm-n4 {
- margin-bottom: -1.5rem !important;
+ .pb-md-3 {
+ padding-bottom: 1rem !important;
}
- .ml-sm-n4,
-.mx-sm-n4 {
- margin-left: -1.5rem !important;
+ .pb-md-4 {
+ padding-bottom: 1.5rem !important;
}
- .m-sm-n5 {
- margin: -3rem !important;
+ .pb-md-5 {
+ padding-bottom: 3rem !important;
}
- .mt-sm-n5,
-.my-sm-n5 {
- margin-top: -3rem !important;
+ .ps-md-0 {
+ padding-left: 0 !important;
}
- .mr-sm-n5,
-.mx-sm-n5 {
- margin-right: -3rem !important;
+ .ps-md-1 {
+ padding-left: 0.25rem !important;
}
- .mb-sm-n5,
-.my-sm-n5 {
- margin-bottom: -3rem !important;
+ .ps-md-2 {
+ padding-left: 0.5rem !important;
}
- .ml-sm-n5,
-.mx-sm-n5 {
- margin-left: -3rem !important;
+ .ps-md-3 {
+ padding-left: 1rem !important;
}
- .m-sm-auto {
- margin: auto !important;
+ .ps-md-4 {
+ padding-left: 1.5rem !important;
}
- .mt-sm-auto,
-.my-sm-auto {
- margin-top: auto !important;
+ .ps-md-5 {
+ padding-left: 3rem !important;
}
- .mr-sm-auto,
-.mx-sm-auto {
- margin-right: auto !important;
+ .text-md-start {
+ text-align: left !important;
}
- .mb-sm-auto,
-.my-sm-auto {
- margin-bottom: auto !important;
+ .text-md-end {
+ text-align: right !important;
}
- .ml-sm-auto,
-.mx-sm-auto {
- margin-left: auto !important;
+ .text-md-center {
+ text-align: center !important;
}
}
-@media (min-width: 768px) {
- .m-md-0 {
- margin: 0 !important;
- }
-
- .mt-md-0,
-.my-md-0 {
- margin-top: 0 !important;
+@media (min-width: 992px) {
+ .float-lg-start {
+ float: left !important;
}
- .mr-md-0,
-.mx-md-0 {
- margin-right: 0 !important;
+ .float-lg-end {
+ float: right !important;
}
- .mb-md-0,
-.my-md-0 {
- margin-bottom: 0 !important;
+ .float-lg-none {
+ float: none !important;
}
- .ml-md-0,
-.mx-md-0 {
- margin-left: 0 !important;
+ .d-lg-inline {
+ display: inline !important;
}
- .m-md-1 {
- margin: 0.25rem !important;
+ .d-lg-inline-block {
+ display: inline-block !important;
}
- .mt-md-1,
-.my-md-1 {
- margin-top: 0.25rem !important;
+ .d-lg-block {
+ display: block !important;
}
- .mr-md-1,
-.mx-md-1 {
- margin-right: 0.25rem !important;
+ .d-lg-grid {
+ display: grid !important;
}
- .mb-md-1,
-.my-md-1 {
- margin-bottom: 0.25rem !important;
+ .d-lg-table {
+ display: table !important;
}
- .ml-md-1,
-.mx-md-1 {
- margin-left: 0.25rem !important;
+ .d-lg-table-row {
+ display: table-row !important;
}
- .m-md-2 {
- margin: 0.5rem !important;
+ .d-lg-table-cell {
+ display: table-cell !important;
}
- .mt-md-2,
-.my-md-2 {
- margin-top: 0.5rem !important;
+ .d-lg-flex {
+ display: flex !important;
}
- .mr-md-2,
-.mx-md-2 {
- margin-right: 0.5rem !important;
+ .d-lg-inline-flex {
+ display: inline-flex !important;
}
- .mb-md-2,
-.my-md-2 {
- margin-bottom: 0.5rem !important;
+ .d-lg-none {
+ display: none !important;
}
- .ml-md-2,
-.mx-md-2 {
- margin-left: 0.5rem !important;
+ .flex-lg-fill {
+ flex: 1 1 auto !important;
}
- .m-md-3 {
- margin: 1rem !important;
+ .flex-lg-row {
+ flex-direction: row !important;
}
- .mt-md-3,
-.my-md-3 {
- margin-top: 1rem !important;
+ .flex-lg-column {
+ flex-direction: column !important;
}
- .mr-md-3,
-.mx-md-3 {
- margin-right: 1rem !important;
+ .flex-lg-row-reverse {
+ flex-direction: row-reverse !important;
}
- .mb-md-3,
-.my-md-3 {
- margin-bottom: 1rem !important;
+ .flex-lg-column-reverse {
+ flex-direction: column-reverse !important;
}
- .ml-md-3,
-.mx-md-3 {
- margin-left: 1rem !important;
+ .flex-lg-grow-0 {
+ flex-grow: 0 !important;
}
- .m-md-4 {
- margin: 1.5rem !important;
+ .flex-lg-grow-1 {
+ flex-grow: 1 !important;
}
- .mt-md-4,
-.my-md-4 {
- margin-top: 1.5rem !important;
+ .flex-lg-shrink-0 {
+ flex-shrink: 0 !important;
}
- .mr-md-4,
-.mx-md-4 {
- margin-right: 1.5rem !important;
+ .flex-lg-shrink-1 {
+ flex-shrink: 1 !important;
}
- .mb-md-4,
-.my-md-4 {
- margin-bottom: 1.5rem !important;
+ .flex-lg-wrap {
+ flex-wrap: wrap !important;
}
- .ml-md-4,
-.mx-md-4 {
- margin-left: 1.5rem !important;
+ .flex-lg-nowrap {
+ flex-wrap: nowrap !important;
}
- .m-md-5 {
- margin: 3rem !important;
+ .flex-lg-wrap-reverse {
+ flex-wrap: wrap-reverse !important;
}
- .mt-md-5,
-.my-md-5 {
- margin-top: 3rem !important;
+ .gap-lg-0 {
+ gap: 0 !important;
}
- .mr-md-5,
-.mx-md-5 {
- margin-right: 3rem !important;
+ .gap-lg-1 {
+ gap: 0.25rem !important;
}
- .mb-md-5,
-.my-md-5 {
- margin-bottom: 3rem !important;
+ .gap-lg-2 {
+ gap: 0.5rem !important;
}
- .ml-md-5,
-.mx-md-5 {
- margin-left: 3rem !important;
+ .gap-lg-3 {
+ gap: 1rem !important;
}
- .p-md-0 {
- padding: 0 !important;
+ .gap-lg-4 {
+ gap: 1.5rem !important;
}
- .pt-md-0,
-.py-md-0 {
- padding-top: 0 !important;
+ .gap-lg-5 {
+ gap: 3rem !important;
}
- .pr-md-0,
-.px-md-0 {
- padding-right: 0 !important;
+ .justify-content-lg-start {
+ justify-content: flex-start !important;
}
- .pb-md-0,
-.py-md-0 {
- padding-bottom: 0 !important;
+ .justify-content-lg-end {
+ justify-content: flex-end !important;
}
- .pl-md-0,
-.px-md-0 {
- padding-left: 0 !important;
+ .justify-content-lg-center {
+ justify-content: center !important;
}
- .p-md-1 {
- padding: 0.25rem !important;
+ .justify-content-lg-between {
+ justify-content: space-between !important;
}
- .pt-md-1,
-.py-md-1 {
- padding-top: 0.25rem !important;
+ .justify-content-lg-around {
+ justify-content: space-around !important;
}
- .pr-md-1,
-.px-md-1 {
- padding-right: 0.25rem !important;
+ .justify-content-lg-evenly {
+ justify-content: space-evenly !important;
}
- .pb-md-1,
-.py-md-1 {
- padding-bottom: 0.25rem !important;
+ .align-items-lg-start {
+ align-items: flex-start !important;
}
- .pl-md-1,
-.px-md-1 {
- padding-left: 0.25rem !important;
+ .align-items-lg-end {
+ align-items: flex-end !important;
}
- .p-md-2 {
- padding: 0.5rem !important;
+ .align-items-lg-center {
+ align-items: center !important;
}
- .pt-md-2,
-.py-md-2 {
- padding-top: 0.5rem !important;
+ .align-items-lg-baseline {
+ align-items: baseline !important;
}
- .pr-md-2,
-.px-md-2 {
- padding-right: 0.5rem !important;
+ .align-items-lg-stretch {
+ align-items: stretch !important;
}
- .pb-md-2,
-.py-md-2 {
- padding-bottom: 0.5rem !important;
+ .align-content-lg-start {
+ align-content: flex-start !important;
}
- .pl-md-2,
-.px-md-2 {
- padding-left: 0.5rem !important;
+ .align-content-lg-end {
+ align-content: flex-end !important;
}
- .p-md-3 {
- padding: 1rem !important;
+ .align-content-lg-center {
+ align-content: center !important;
}
- .pt-md-3,
-.py-md-3 {
- padding-top: 1rem !important;
+ .align-content-lg-between {
+ align-content: space-between !important;
}
- .pr-md-3,
-.px-md-3 {
- padding-right: 1rem !important;
+ .align-content-lg-around {
+ align-content: space-around !important;
}
- .pb-md-3,
-.py-md-3 {
- padding-bottom: 1rem !important;
+ .align-content-lg-stretch {
+ align-content: stretch !important;
}
- .pl-md-3,
-.px-md-3 {
- padding-left: 1rem !important;
+ .align-self-lg-auto {
+ align-self: auto !important;
}
- .p-md-4 {
- padding: 1.5rem !important;
+ .align-self-lg-start {
+ align-self: flex-start !important;
}
- .pt-md-4,
-.py-md-4 {
- padding-top: 1.5rem !important;
+ .align-self-lg-end {
+ align-self: flex-end !important;
}
- .pr-md-4,
-.px-md-4 {
- padding-right: 1.5rem !important;
+ .align-self-lg-center {
+ align-self: center !important;
}
- .pb-md-4,
-.py-md-4 {
- padding-bottom: 1.5rem !important;
+ .align-self-lg-baseline {
+ align-self: baseline !important;
}
- .pl-md-4,
-.px-md-4 {
- padding-left: 1.5rem !important;
+ .align-self-lg-stretch {
+ align-self: stretch !important;
}
- .p-md-5 {
- padding: 3rem !important;
+ .order-lg-first {
+ order: -1 !important;
}
- .pt-md-5,
-.py-md-5 {
- padding-top: 3rem !important;
+ .order-lg-0 {
+ order: 0 !important;
}
- .pr-md-5,
-.px-md-5 {
- padding-right: 3rem !important;
+ .order-lg-1 {
+ order: 1 !important;
}
- .pb-md-5,
-.py-md-5 {
- padding-bottom: 3rem !important;
+ .order-lg-2 {
+ order: 2 !important;
}
- .pl-md-5,
-.px-md-5 {
- padding-left: 3rem !important;
+ .order-lg-3 {
+ order: 3 !important;
}
- .m-md-n1 {
- margin: -0.25rem !important;
+ .order-lg-4 {
+ order: 4 !important;
}
- .mt-md-n1,
-.my-md-n1 {
- margin-top: -0.25rem !important;
+ .order-lg-5 {
+ order: 5 !important;
}
- .mr-md-n1,
-.mx-md-n1 {
- margin-right: -0.25rem !important;
+ .order-lg-last {
+ order: 6 !important;
}
- .mb-md-n1,
-.my-md-n1 {
- margin-bottom: -0.25rem !important;
+ .m-lg-0 {
+ margin: 0 !important;
}
- .ml-md-n1,
-.mx-md-n1 {
- margin-left: -0.25rem !important;
+ .m-lg-1 {
+ margin: 0.25rem !important;
}
- .m-md-n2 {
- margin: -0.5rem !important;
+ .m-lg-2 {
+ margin: 0.5rem !important;
}
- .mt-md-n2,
-.my-md-n2 {
- margin-top: -0.5rem !important;
+ .m-lg-3 {
+ margin: 1rem !important;
}
- .mr-md-n2,
-.mx-md-n2 {
- margin-right: -0.5rem !important;
+ .m-lg-4 {
+ margin: 1.5rem !important;
}
- .mb-md-n2,
-.my-md-n2 {
- margin-bottom: -0.5rem !important;
+ .m-lg-5 {
+ margin: 3rem !important;
}
- .ml-md-n2,
-.mx-md-n2 {
- margin-left: -0.5rem !important;
+ .m-lg-auto {
+ margin: auto !important;
}
- .m-md-n3 {
- margin: -1rem !important;
+ .mx-lg-0 {
+ margin-right: 0 !important;
+ margin-left: 0 !important;
}
- .mt-md-n3,
-.my-md-n3 {
- margin-top: -1rem !important;
+ .mx-lg-1 {
+ margin-right: 0.25rem !important;
+ margin-left: 0.25rem !important;
}
- .mr-md-n3,
-.mx-md-n3 {
- margin-right: -1rem !important;
+ .mx-lg-2 {
+ margin-right: 0.5rem !important;
+ margin-left: 0.5rem !important;
}
- .mb-md-n3,
-.my-md-n3 {
- margin-bottom: -1rem !important;
+ .mx-lg-3 {
+ margin-right: 1rem !important;
+ margin-left: 1rem !important;
}
- .ml-md-n3,
-.mx-md-n3 {
- margin-left: -1rem !important;
+ .mx-lg-4 {
+ margin-right: 1.5rem !important;
+ margin-left: 1.5rem !important;
}
- .m-md-n4 {
- margin: -1.5rem !important;
+ .mx-lg-5 {
+ margin-right: 3rem !important;
+ margin-left: 3rem !important;
}
- .mt-md-n4,
-.my-md-n4 {
- margin-top: -1.5rem !important;
+ .mx-lg-auto {
+ margin-right: auto !important;
+ margin-left: auto !important;
}
- .mr-md-n4,
-.mx-md-n4 {
- margin-right: -1.5rem !important;
+ .my-lg-0 {
+ margin-top: 0 !important;
+ margin-bottom: 0 !important;
}
- .mb-md-n4,
-.my-md-n4 {
- margin-bottom: -1.5rem !important;
+ .my-lg-1 {
+ margin-top: 0.25rem !important;
+ margin-bottom: 0.25rem !important;
}
- .ml-md-n4,
-.mx-md-n4 {
- margin-left: -1.5rem !important;
+ .my-lg-2 {
+ margin-top: 0.5rem !important;
+ margin-bottom: 0.5rem !important;
}
- .m-md-n5 {
- margin: -3rem !important;
+ .my-lg-3 {
+ margin-top: 1rem !important;
+ margin-bottom: 1rem !important;
}
- .mt-md-n5,
-.my-md-n5 {
- margin-top: -3rem !important;
+ .my-lg-4 {
+ margin-top: 1.5rem !important;
+ margin-bottom: 1.5rem !important;
}
- .mr-md-n5,
-.mx-md-n5 {
- margin-right: -3rem !important;
+ .my-lg-5 {
+ margin-top: 3rem !important;
+ margin-bottom: 3rem !important;
}
- .mb-md-n5,
-.my-md-n5 {
- margin-bottom: -3rem !important;
+ .my-lg-auto {
+ margin-top: auto !important;
+ margin-bottom: auto !important;
}
- .ml-md-n5,
-.mx-md-n5 {
- margin-left: -3rem !important;
+ .mt-lg-0 {
+ margin-top: 0 !important;
}
- .m-md-auto {
- margin: auto !important;
+ .mt-lg-1 {
+ margin-top: 0.25rem !important;
}
- .mt-md-auto,
-.my-md-auto {
- margin-top: auto !important;
+ .mt-lg-2 {
+ margin-top: 0.5rem !important;
}
- .mr-md-auto,
-.mx-md-auto {
- margin-right: auto !important;
+ .mt-lg-3 {
+ margin-top: 1rem !important;
}
- .mb-md-auto,
-.my-md-auto {
- margin-bottom: auto !important;
+ .mt-lg-4 {
+ margin-top: 1.5rem !important;
}
- .ml-md-auto,
-.mx-md-auto {
- margin-left: auto !important;
- }
-}
-@media (min-width: 992px) {
- .m-lg-0 {
- margin: 0 !important;
+ .mt-lg-5 {
+ margin-top: 3rem !important;
}
- .mt-lg-0,
-.my-lg-0 {
- margin-top: 0 !important;
+ .mt-lg-auto {
+ margin-top: auto !important;
}
- .mr-lg-0,
-.mx-lg-0 {
+ .me-lg-0 {
margin-right: 0 !important;
}
- .mb-lg-0,
-.my-lg-0 {
- margin-bottom: 0 !important;
+ .me-lg-1 {
+ margin-right: 0.25rem !important;
}
- .ml-lg-0,
-.mx-lg-0 {
- margin-left: 0 !important;
+ .me-lg-2 {
+ margin-right: 0.5rem !important;
}
- .m-lg-1 {
- margin: 0.25rem !important;
+ .me-lg-3 {
+ margin-right: 1rem !important;
}
- .mt-lg-1,
-.my-lg-1 {
- margin-top: 0.25rem !important;
+ .me-lg-4 {
+ margin-right: 1.5rem !important;
}
- .mr-lg-1,
-.mx-lg-1 {
- margin-right: 0.25rem !important;
+ .me-lg-5 {
+ margin-right: 3rem !important;
}
- .mb-lg-1,
-.my-lg-1 {
- margin-bottom: 0.25rem !important;
+ .me-lg-auto {
+ margin-right: auto !important;
}
- .ml-lg-1,
-.mx-lg-1 {
- margin-left: 0.25rem !important;
+ .mb-lg-0 {
+ margin-bottom: 0 !important;
}
- .m-lg-2 {
- margin: 0.5rem !important;
+ .mb-lg-1 {
+ margin-bottom: 0.25rem !important;
}
- .mt-lg-2,
-.my-lg-2 {
- margin-top: 0.5rem !important;
+ .mb-lg-2 {
+ margin-bottom: 0.5rem !important;
}
- .mr-lg-2,
-.mx-lg-2 {
- margin-right: 0.5rem !important;
+ .mb-lg-3 {
+ margin-bottom: 1rem !important;
}
- .mb-lg-2,
-.my-lg-2 {
- margin-bottom: 0.5rem !important;
+ .mb-lg-4 {
+ margin-bottom: 1.5rem !important;
}
- .ml-lg-2,
-.mx-lg-2 {
- margin-left: 0.5rem !important;
+ .mb-lg-5 {
+ margin-bottom: 3rem !important;
}
- .m-lg-3 {
- margin: 1rem !important;
+ .mb-lg-auto {
+ margin-bottom: auto !important;
}
- .mt-lg-3,
-.my-lg-3 {
- margin-top: 1rem !important;
+ .ms-lg-0 {
+ margin-left: 0 !important;
}
- .mr-lg-3,
-.mx-lg-3 {
- margin-right: 1rem !important;
+ .ms-lg-1 {
+ margin-left: 0.25rem !important;
}
- .mb-lg-3,
-.my-lg-3 {
- margin-bottom: 1rem !important;
+ .ms-lg-2 {
+ margin-left: 0.5rem !important;
}
- .ml-lg-3,
-.mx-lg-3 {
+ .ms-lg-3 {
margin-left: 1rem !important;
}
- .m-lg-4 {
- margin: 1.5rem !important;
+ .ms-lg-4 {
+ margin-left: 1.5rem !important;
}
- .mt-lg-4,
-.my-lg-4 {
- margin-top: 1.5rem !important;
+ .ms-lg-5 {
+ margin-left: 3rem !important;
}
- .mr-lg-4,
-.mx-lg-4 {
- margin-right: 1.5rem !important;
+ .ms-lg-auto {
+ margin-left: auto !important;
}
- .mb-lg-4,
-.my-lg-4 {
- margin-bottom: 1.5rem !important;
+ .p-lg-0 {
+ padding: 0 !important;
}
- .ml-lg-4,
-.mx-lg-4 {
- margin-left: 1.5rem !important;
+ .p-lg-1 {
+ padding: 0.25rem !important;
}
- .m-lg-5 {
- margin: 3rem !important;
+ .p-lg-2 {
+ padding: 0.5rem !important;
}
- .mt-lg-5,
-.my-lg-5 {
- margin-top: 3rem !important;
+ .p-lg-3 {
+ padding: 1rem !important;
}
- .mr-lg-5,
-.mx-lg-5 {
- margin-right: 3rem !important;
+ .p-lg-4 {
+ padding: 1.5rem !important;
}
- .mb-lg-5,
-.my-lg-5 {
- margin-bottom: 3rem !important;
+ .p-lg-5 {
+ padding: 3rem !important;
}
- .ml-lg-5,
-.mx-lg-5 {
- margin-left: 3rem !important;
+ .px-lg-0 {
+ padding-right: 0 !important;
+ padding-left: 0 !important;
}
- .p-lg-0 {
- padding: 0 !important;
+ .px-lg-1 {
+ padding-right: 0.25rem !important;
+ padding-left: 0.25rem !important;
}
- .pt-lg-0,
-.py-lg-0 {
- padding-top: 0 !important;
+ .px-lg-2 {
+ padding-right: 0.5rem !important;
+ padding-left: 0.5rem !important;
}
- .pr-lg-0,
-.px-lg-0 {
- padding-right: 0 !important;
+ .px-lg-3 {
+ padding-right: 1rem !important;
+ padding-left: 1rem !important;
}
- .pb-lg-0,
-.py-lg-0 {
- padding-bottom: 0 !important;
+ .px-lg-4 {
+ padding-right: 1.5rem !important;
+ padding-left: 1.5rem !important;
}
- .pl-lg-0,
-.px-lg-0 {
- padding-left: 0 !important;
+ .px-lg-5 {
+ padding-right: 3rem !important;
+ padding-left: 3rem !important;
}
- .p-lg-1 {
- padding: 0.25rem !important;
+ .py-lg-0 {
+ padding-top: 0 !important;
+ padding-bottom: 0 !important;
}
- .pt-lg-1,
-.py-lg-1 {
+ .py-lg-1 {
padding-top: 0.25rem !important;
+ padding-bottom: 0.25rem !important;
}
- .pr-lg-1,
-.px-lg-1 {
- padding-right: 0.25rem !important;
+ .py-lg-2 {
+ padding-top: 0.5rem !important;
+ padding-bottom: 0.5rem !important;
}
- .pb-lg-1,
-.py-lg-1 {
- padding-bottom: 0.25rem !important;
+ .py-lg-3 {
+ padding-top: 1rem !important;
+ padding-bottom: 1rem !important;
}
- .pl-lg-1,
-.px-lg-1 {
- padding-left: 0.25rem !important;
+ .py-lg-4 {
+ padding-top: 1.5rem !important;
+ padding-bottom: 1.5rem !important;
}
- .p-lg-2 {
- padding: 0.5rem !important;
+ .py-lg-5 {
+ padding-top: 3rem !important;
+ padding-bottom: 3rem !important;
}
- .pt-lg-2,
-.py-lg-2 {
- padding-top: 0.5rem !important;
+ .pt-lg-0 {
+ padding-top: 0 !important;
}
- .pr-lg-2,
-.px-lg-2 {
- padding-right: 0.5rem !important;
+ .pt-lg-1 {
+ padding-top: 0.25rem !important;
}
- .pb-lg-2,
-.py-lg-2 {
- padding-bottom: 0.5rem !important;
+ .pt-lg-2 {
+ padding-top: 0.5rem !important;
}
- .pl-lg-2,
-.px-lg-2 {
- padding-left: 0.5rem !important;
+ .pt-lg-3 {
+ padding-top: 1rem !important;
}
- .p-lg-3 {
- padding: 1rem !important;
+ .pt-lg-4 {
+ padding-top: 1.5rem !important;
}
- .pt-lg-3,
-.py-lg-3 {
- padding-top: 1rem !important;
+ .pt-lg-5 {
+ padding-top: 3rem !important;
}
- .pr-lg-3,
-.px-lg-3 {
- padding-right: 1rem !important;
+ .pe-lg-0 {
+ padding-right: 0 !important;
}
- .pb-lg-3,
-.py-lg-3 {
- padding-bottom: 1rem !important;
+ .pe-lg-1 {
+ padding-right: 0.25rem !important;
}
- .pl-lg-3,
-.px-lg-3 {
- padding-left: 1rem !important;
+ .pe-lg-2 {
+ padding-right: 0.5rem !important;
}
- .p-lg-4 {
- padding: 1.5rem !important;
+ .pe-lg-3 {
+ padding-right: 1rem !important;
}
- .pt-lg-4,
-.py-lg-4 {
- padding-top: 1.5rem !important;
+ .pe-lg-4 {
+ padding-right: 1.5rem !important;
}
- .pr-lg-4,
-.px-lg-4 {
- padding-right: 1.5rem !important;
+ .pe-lg-5 {
+ padding-right: 3rem !important;
}
- .pb-lg-4,
-.py-lg-4 {
- padding-bottom: 1.5rem !important;
+ .pb-lg-0 {
+ padding-bottom: 0 !important;
}
- .pl-lg-4,
-.px-lg-4 {
- padding-left: 1.5rem !important;
+ .pb-lg-1 {
+ padding-bottom: 0.25rem !important;
}
- .p-lg-5 {
- padding: 3rem !important;
+ .pb-lg-2 {
+ padding-bottom: 0.5rem !important;
}
- .pt-lg-5,
-.py-lg-5 {
- padding-top: 3rem !important;
+ .pb-lg-3 {
+ padding-bottom: 1rem !important;
}
- .pr-lg-5,
-.px-lg-5 {
- padding-right: 3rem !important;
+ .pb-lg-4 {
+ padding-bottom: 1.5rem !important;
}
- .pb-lg-5,
-.py-lg-5 {
+ .pb-lg-5 {
padding-bottom: 3rem !important;
}
- .pl-lg-5,
-.px-lg-5 {
- padding-left: 3rem !important;
+ .ps-lg-0 {
+ padding-left: 0 !important;
}
- .m-lg-n1 {
- margin: -0.25rem !important;
+ .ps-lg-1 {
+ padding-left: 0.25rem !important;
}
- .mt-lg-n1,
-.my-lg-n1 {
- margin-top: -0.25rem !important;
+ .ps-lg-2 {
+ padding-left: 0.5rem !important;
}
- .mr-lg-n1,
-.mx-lg-n1 {
- margin-right: -0.25rem !important;
+ .ps-lg-3 {
+ padding-left: 1rem !important;
}
- .mb-lg-n1,
-.my-lg-n1 {
- margin-bottom: -0.25rem !important;
+ .ps-lg-4 {
+ padding-left: 1.5rem !important;
}
- .ml-lg-n1,
-.mx-lg-n1 {
- margin-left: -0.25rem !important;
+ .ps-lg-5 {
+ padding-left: 3rem !important;
}
- .m-lg-n2 {
- margin: -0.5rem !important;
+ .text-lg-start {
+ text-align: left !important;
}
- .mt-lg-n2,
-.my-lg-n2 {
- margin-top: -0.5rem !important;
+ .text-lg-end {
+ text-align: right !important;
}
- .mr-lg-n2,
-.mx-lg-n2 {
- margin-right: -0.5rem !important;
+ .text-lg-center {
+ text-align: center !important;
}
-
- .mb-lg-n2,
-.my-lg-n2 {
- margin-bottom: -0.5rem !important;
+}
+@media (min-width: 1200px) {
+ .float-xl-start {
+ float: left !important;
}
- .ml-lg-n2,
-.mx-lg-n2 {
- margin-left: -0.5rem !important;
+ .float-xl-end {
+ float: right !important;
}
- .m-lg-n3 {
- margin: -1rem !important;
+ .float-xl-none {
+ float: none !important;
}
- .mt-lg-n3,
-.my-lg-n3 {
- margin-top: -1rem !important;
+ .d-xl-inline {
+ display: inline !important;
}
- .mr-lg-n3,
-.mx-lg-n3 {
- margin-right: -1rem !important;
+ .d-xl-inline-block {
+ display: inline-block !important;
}
- .mb-lg-n3,
-.my-lg-n3 {
- margin-bottom: -1rem !important;
+ .d-xl-block {
+ display: block !important;
}
- .ml-lg-n3,
-.mx-lg-n3 {
- margin-left: -1rem !important;
+ .d-xl-grid {
+ display: grid !important;
}
- .m-lg-n4 {
- margin: -1.5rem !important;
+ .d-xl-table {
+ display: table !important;
}
- .mt-lg-n4,
-.my-lg-n4 {
- margin-top: -1.5rem !important;
+ .d-xl-table-row {
+ display: table-row !important;
}
- .mr-lg-n4,
-.mx-lg-n4 {
- margin-right: -1.5rem !important;
+ .d-xl-table-cell {
+ display: table-cell !important;
}
- .mb-lg-n4,
-.my-lg-n4 {
- margin-bottom: -1.5rem !important;
+ .d-xl-flex {
+ display: flex !important;
}
- .ml-lg-n4,
-.mx-lg-n4 {
- margin-left: -1.5rem !important;
+ .d-xl-inline-flex {
+ display: inline-flex !important;
}
- .m-lg-n5 {
- margin: -3rem !important;
+ .d-xl-none {
+ display: none !important;
}
- .mt-lg-n5,
-.my-lg-n5 {
- margin-top: -3rem !important;
+ .flex-xl-fill {
+ flex: 1 1 auto !important;
}
- .mr-lg-n5,
-.mx-lg-n5 {
- margin-right: -3rem !important;
+ .flex-xl-row {
+ flex-direction: row !important;
}
- .mb-lg-n5,
-.my-lg-n5 {
- margin-bottom: -3rem !important;
+ .flex-xl-column {
+ flex-direction: column !important;
}
- .ml-lg-n5,
-.mx-lg-n5 {
- margin-left: -3rem !important;
+ .flex-xl-row-reverse {
+ flex-direction: row-reverse !important;
}
- .m-lg-auto {
- margin: auto !important;
+ .flex-xl-column-reverse {
+ flex-direction: column-reverse !important;
}
- .mt-lg-auto,
-.my-lg-auto {
- margin-top: auto !important;
+ .flex-xl-grow-0 {
+ flex-grow: 0 !important;
}
- .mr-lg-auto,
-.mx-lg-auto {
- margin-right: auto !important;
+ .flex-xl-grow-1 {
+ flex-grow: 1 !important;
}
- .mb-lg-auto,
-.my-lg-auto {
- margin-bottom: auto !important;
+ .flex-xl-shrink-0 {
+ flex-shrink: 0 !important;
}
- .ml-lg-auto,
-.mx-lg-auto {
- margin-left: auto !important;
- }
-}
-@media (min-width: 1200px) {
- .m-xl-0 {
- margin: 0 !important;
+ .flex-xl-shrink-1 {
+ flex-shrink: 1 !important;
}
- .mt-xl-0,
-.my-xl-0 {
- margin-top: 0 !important;
+ .flex-xl-wrap {
+ flex-wrap: wrap !important;
}
- .mr-xl-0,
-.mx-xl-0 {
- margin-right: 0 !important;
+ .flex-xl-nowrap {
+ flex-wrap: nowrap !important;
}
- .mb-xl-0,
-.my-xl-0 {
- margin-bottom: 0 !important;
+ .flex-xl-wrap-reverse {
+ flex-wrap: wrap-reverse !important;
}
- .ml-xl-0,
-.mx-xl-0 {
- margin-left: 0 !important;
+ .gap-xl-0 {
+ gap: 0 !important;
}
- .m-xl-1 {
- margin: 0.25rem !important;
+ .gap-xl-1 {
+ gap: 0.25rem !important;
}
- .mt-xl-1,
-.my-xl-1 {
- margin-top: 0.25rem !important;
+ .gap-xl-2 {
+ gap: 0.5rem !important;
}
- .mr-xl-1,
-.mx-xl-1 {
- margin-right: 0.25rem !important;
+ .gap-xl-3 {
+ gap: 1rem !important;
}
- .mb-xl-1,
-.my-xl-1 {
- margin-bottom: 0.25rem !important;
+ .gap-xl-4 {
+ gap: 1.5rem !important;
}
- .ml-xl-1,
-.mx-xl-1 {
- margin-left: 0.25rem !important;
+ .gap-xl-5 {
+ gap: 3rem !important;
}
- .m-xl-2 {
- margin: 0.5rem !important;
+ .justify-content-xl-start {
+ justify-content: flex-start !important;
}
- .mt-xl-2,
-.my-xl-2 {
- margin-top: 0.5rem !important;
+ .justify-content-xl-end {
+ justify-content: flex-end !important;
}
- .mr-xl-2,
-.mx-xl-2 {
- margin-right: 0.5rem !important;
+ .justify-content-xl-center {
+ justify-content: center !important;
}
- .mb-xl-2,
-.my-xl-2 {
- margin-bottom: 0.5rem !important;
+ .justify-content-xl-between {
+ justify-content: space-between !important;
}
- .ml-xl-2,
-.mx-xl-2 {
- margin-left: 0.5rem !important;
+ .justify-content-xl-around {
+ justify-content: space-around !important;
}
- .m-xl-3 {
- margin: 1rem !important;
+ .justify-content-xl-evenly {
+ justify-content: space-evenly !important;
}
- .mt-xl-3,
-.my-xl-3 {
- margin-top: 1rem !important;
+ .align-items-xl-start {
+ align-items: flex-start !important;
}
- .mr-xl-3,
-.mx-xl-3 {
- margin-right: 1rem !important;
+ .align-items-xl-end {
+ align-items: flex-end !important;
}
- .mb-xl-3,
-.my-xl-3 {
- margin-bottom: 1rem !important;
+ .align-items-xl-center {
+ align-items: center !important;
}
- .ml-xl-3,
-.mx-xl-3 {
- margin-left: 1rem !important;
+ .align-items-xl-baseline {
+ align-items: baseline !important;
}
- .m-xl-4 {
- margin: 1.5rem !important;
+ .align-items-xl-stretch {
+ align-items: stretch !important;
}
- .mt-xl-4,
-.my-xl-4 {
- margin-top: 1.5rem !important;
+ .align-content-xl-start {
+ align-content: flex-start !important;
}
- .mr-xl-4,
-.mx-xl-4 {
- margin-right: 1.5rem !important;
+ .align-content-xl-end {
+ align-content: flex-end !important;
}
- .mb-xl-4,
-.my-xl-4 {
- margin-bottom: 1.5rem !important;
+ .align-content-xl-center {
+ align-content: center !important;
}
- .ml-xl-4,
-.mx-xl-4 {
- margin-left: 1.5rem !important;
+ .align-content-xl-between {
+ align-content: space-between !important;
}
- .m-xl-5 {
- margin: 3rem !important;
+ .align-content-xl-around {
+ align-content: space-around !important;
}
- .mt-xl-5,
-.my-xl-5 {
- margin-top: 3rem !important;
+ .align-content-xl-stretch {
+ align-content: stretch !important;
}
- .mr-xl-5,
-.mx-xl-5 {
- margin-right: 3rem !important;
+ .align-self-xl-auto {
+ align-self: auto !important;
}
- .mb-xl-5,
-.my-xl-5 {
- margin-bottom: 3rem !important;
+ .align-self-xl-start {
+ align-self: flex-start !important;
}
- .ml-xl-5,
-.mx-xl-5 {
- margin-left: 3rem !important;
+ .align-self-xl-end {
+ align-self: flex-end !important;
}
- .p-xl-0 {
- padding: 0 !important;
+ .align-self-xl-center {
+ align-self: center !important;
}
- .pt-xl-0,
-.py-xl-0 {
- padding-top: 0 !important;
+ .align-self-xl-baseline {
+ align-self: baseline !important;
}
- .pr-xl-0,
-.px-xl-0 {
- padding-right: 0 !important;
+ .align-self-xl-stretch {
+ align-self: stretch !important;
}
- .pb-xl-0,
-.py-xl-0 {
- padding-bottom: 0 !important;
+ .order-xl-first {
+ order: -1 !important;
}
- .pl-xl-0,
-.px-xl-0 {
- padding-left: 0 !important;
+ .order-xl-0 {
+ order: 0 !important;
}
- .p-xl-1 {
- padding: 0.25rem !important;
+ .order-xl-1 {
+ order: 1 !important;
}
- .pt-xl-1,
-.py-xl-1 {
- padding-top: 0.25rem !important;
+ .order-xl-2 {
+ order: 2 !important;
}
- .pr-xl-1,
-.px-xl-1 {
- padding-right: 0.25rem !important;
+ .order-xl-3 {
+ order: 3 !important;
}
- .pb-xl-1,
-.py-xl-1 {
- padding-bottom: 0.25rem !important;
+ .order-xl-4 {
+ order: 4 !important;
}
- .pl-xl-1,
-.px-xl-1 {
- padding-left: 0.25rem !important;
+ .order-xl-5 {
+ order: 5 !important;
}
- .p-xl-2 {
- padding: 0.5rem !important;
+ .order-xl-last {
+ order: 6 !important;
}
- .pt-xl-2,
-.py-xl-2 {
- padding-top: 0.5rem !important;
+ .m-xl-0 {
+ margin: 0 !important;
}
- .pr-xl-2,
-.px-xl-2 {
- padding-right: 0.5rem !important;
+ .m-xl-1 {
+ margin: 0.25rem !important;
}
- .pb-xl-2,
-.py-xl-2 {
- padding-bottom: 0.5rem !important;
+ .m-xl-2 {
+ margin: 0.5rem !important;
}
- .pl-xl-2,
-.px-xl-2 {
- padding-left: 0.5rem !important;
+ .m-xl-3 {
+ margin: 1rem !important;
}
- .p-xl-3 {
- padding: 1rem !important;
+ .m-xl-4 {
+ margin: 1.5rem !important;
}
- .pt-xl-3,
-.py-xl-3 {
- padding-top: 1rem !important;
+ .m-xl-5 {
+ margin: 3rem !important;
}
- .pr-xl-3,
-.px-xl-3 {
- padding-right: 1rem !important;
+ .m-xl-auto {
+ margin: auto !important;
}
- .pb-xl-3,
-.py-xl-3 {
- padding-bottom: 1rem !important;
+ .mx-xl-0 {
+ margin-right: 0 !important;
+ margin-left: 0 !important;
}
- .pl-xl-3,
-.px-xl-3 {
- padding-left: 1rem !important;
+ .mx-xl-1 {
+ margin-right: 0.25rem !important;
+ margin-left: 0.25rem !important;
}
- .p-xl-4 {
- padding: 1.5rem !important;
+ .mx-xl-2 {
+ margin-right: 0.5rem !important;
+ margin-left: 0.5rem !important;
}
- .pt-xl-4,
-.py-xl-4 {
- padding-top: 1.5rem !important;
+ .mx-xl-3 {
+ margin-right: 1rem !important;
+ margin-left: 1rem !important;
}
- .pr-xl-4,
-.px-xl-4 {
- padding-right: 1.5rem !important;
+ .mx-xl-4 {
+ margin-right: 1.5rem !important;
+ margin-left: 1.5rem !important;
}
- .pb-xl-4,
-.py-xl-4 {
- padding-bottom: 1.5rem !important;
+ .mx-xl-5 {
+ margin-right: 3rem !important;
+ margin-left: 3rem !important;
}
- .pl-xl-4,
-.px-xl-4 {
- padding-left: 1.5rem !important;
+ .mx-xl-auto {
+ margin-right: auto !important;
+ margin-left: auto !important;
}
- .p-xl-5 {
- padding: 3rem !important;
+ .my-xl-0 {
+ margin-top: 0 !important;
+ margin-bottom: 0 !important;
}
- .pt-xl-5,
-.py-xl-5 {
- padding-top: 3rem !important;
+ .my-xl-1 {
+ margin-top: 0.25rem !important;
+ margin-bottom: 0.25rem !important;
}
- .pr-xl-5,
-.px-xl-5 {
- padding-right: 3rem !important;
+ .my-xl-2 {
+ margin-top: 0.5rem !important;
+ margin-bottom: 0.5rem !important;
}
- .pb-xl-5,
-.py-xl-5 {
- padding-bottom: 3rem !important;
+ .my-xl-3 {
+ margin-top: 1rem !important;
+ margin-bottom: 1rem !important;
}
- .pl-xl-5,
-.px-xl-5 {
- padding-left: 3rem !important;
+ .my-xl-4 {
+ margin-top: 1.5rem !important;
+ margin-bottom: 1.5rem !important;
}
- .m-xl-n1 {
- margin: -0.25rem !important;
+ .my-xl-5 {
+ margin-top: 3rem !important;
+ margin-bottom: 3rem !important;
}
- .mt-xl-n1,
-.my-xl-n1 {
- margin-top: -0.25rem !important;
+ .my-xl-auto {
+ margin-top: auto !important;
+ margin-bottom: auto !important;
}
- .mr-xl-n1,
-.mx-xl-n1 {
- margin-right: -0.25rem !important;
+ .mt-xl-0 {
+ margin-top: 0 !important;
}
- .mb-xl-n1,
-.my-xl-n1 {
- margin-bottom: -0.25rem !important;
+ .mt-xl-1 {
+ margin-top: 0.25rem !important;
}
- .ml-xl-n1,
-.mx-xl-n1 {
- margin-left: -0.25rem !important;
+ .mt-xl-2 {
+ margin-top: 0.5rem !important;
}
- .m-xl-n2 {
- margin: -0.5rem !important;
+ .mt-xl-3 {
+ margin-top: 1rem !important;
}
- .mt-xl-n2,
-.my-xl-n2 {
- margin-top: -0.5rem !important;
+ .mt-xl-4 {
+ margin-top: 1.5rem !important;
}
- .mr-xl-n2,
-.mx-xl-n2 {
- margin-right: -0.5rem !important;
+ .mt-xl-5 {
+ margin-top: 3rem !important;
}
- .mb-xl-n2,
-.my-xl-n2 {
- margin-bottom: -0.5rem !important;
+ .mt-xl-auto {
+ margin-top: auto !important;
}
- .ml-xl-n2,
-.mx-xl-n2 {
- margin-left: -0.5rem !important;
+ .me-xl-0 {
+ margin-right: 0 !important;
}
- .m-xl-n3 {
- margin: -1rem !important;
+ .me-xl-1 {
+ margin-right: 0.25rem !important;
}
- .mt-xl-n3,
-.my-xl-n3 {
- margin-top: -1rem !important;
+ .me-xl-2 {
+ margin-right: 0.5rem !important;
}
- .mr-xl-n3,
-.mx-xl-n3 {
- margin-right: -1rem !important;
+ .me-xl-3 {
+ margin-right: 1rem !important;
}
- .mb-xl-n3,
-.my-xl-n3 {
- margin-bottom: -1rem !important;
+ .me-xl-4 {
+ margin-right: 1.5rem !important;
}
- .ml-xl-n3,
-.mx-xl-n3 {
- margin-left: -1rem !important;
+ .me-xl-5 {
+ margin-right: 3rem !important;
}
- .m-xl-n4 {
- margin: -1.5rem !important;
+ .me-xl-auto {
+ margin-right: auto !important;
}
- .mt-xl-n4,
-.my-xl-n4 {
- margin-top: -1.5rem !important;
+ .mb-xl-0 {
+ margin-bottom: 0 !important;
}
- .mr-xl-n4,
-.mx-xl-n4 {
- margin-right: -1.5rem !important;
+ .mb-xl-1 {
+ margin-bottom: 0.25rem !important;
}
- .mb-xl-n4,
-.my-xl-n4 {
- margin-bottom: -1.5rem !important;
+ .mb-xl-2 {
+ margin-bottom: 0.5rem !important;
}
- .ml-xl-n4,
-.mx-xl-n4 {
- margin-left: -1.5rem !important;
+ .mb-xl-3 {
+ margin-bottom: 1rem !important;
}
- .m-xl-n5 {
- margin: -3rem !important;
+ .mb-xl-4 {
+ margin-bottom: 1.5rem !important;
}
- .mt-xl-n5,
-.my-xl-n5 {
- margin-top: -3rem !important;
+ .mb-xl-5 {
+ margin-bottom: 3rem !important;
}
- .mr-xl-n5,
-.mx-xl-n5 {
- margin-right: -3rem !important;
+ .mb-xl-auto {
+ margin-bottom: auto !important;
}
- .mb-xl-n5,
-.my-xl-n5 {
- margin-bottom: -3rem !important;
+ .ms-xl-0 {
+ margin-left: 0 !important;
}
- .ml-xl-n5,
-.mx-xl-n5 {
- margin-left: -3rem !important;
+ .ms-xl-1 {
+ margin-left: 0.25rem !important;
}
- .m-xl-auto {
- margin: auto !important;
+ .ms-xl-2 {
+ margin-left: 0.5rem !important;
}
- .mt-xl-auto,
-.my-xl-auto {
- margin-top: auto !important;
+ .ms-xl-3 {
+ margin-left: 1rem !important;
}
- .mr-xl-auto,
-.mx-xl-auto {
- margin-right: auto !important;
+ .ms-xl-4 {
+ margin-left: 1.5rem !important;
}
- .mb-xl-auto,
-.my-xl-auto {
- margin-bottom: auto !important;
+ .ms-xl-5 {
+ margin-left: 3rem !important;
}
- .ml-xl-auto,
-.mx-xl-auto {
+ .ms-xl-auto {
margin-left: auto !important;
}
-}
-.stretched-link::after {
- position: absolute;
- top: 0;
- right: 0;
- bottom: 0;
- left: 0;
- z-index: 1;
- pointer-events: auto;
- content: "";
- background-color: rgba(0, 0, 0, 0);
-}
-
-.text-monospace {
- font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace !important;
-}
-
-.text-justify {
- text-align: justify !important;
-}
-
-.text-wrap {
- white-space: normal !important;
-}
-
-.text-nowrap {
- white-space: nowrap !important;
-}
-
-.text-truncate {
- overflow: hidden;
- text-overflow: ellipsis;
- white-space: nowrap;
-}
-.text-left {
- text-align: left !important;
-}
+ .p-xl-0 {
+ padding: 0 !important;
+ }
-.text-right {
- text-align: right !important;
-}
+ .p-xl-1 {
+ padding: 0.25rem !important;
+ }
-.text-center {
- text-align: center !important;
-}
+ .p-xl-2 {
+ padding: 0.5rem !important;
+ }
-@media (min-width: 576px) {
- .text-sm-left {
- text-align: left !important;
+ .p-xl-3 {
+ padding: 1rem !important;
}
- .text-sm-right {
- text-align: right !important;
+ .p-xl-4 {
+ padding: 1.5rem !important;
}
- .text-sm-center {
- text-align: center !important;
+ .p-xl-5 {
+ padding: 3rem !important;
}
-}
-@media (min-width: 768px) {
- .text-md-left {
- text-align: left !important;
+
+ .px-xl-0 {
+ padding-right: 0 !important;
+ padding-left: 0 !important;
}
- .text-md-right {
- text-align: right !important;
+ .px-xl-1 {
+ padding-right: 0.25rem !important;
+ padding-left: 0.25rem !important;
}
- .text-md-center {
- text-align: center !important;
+ .px-xl-2 {
+ padding-right: 0.5rem !important;
+ padding-left: 0.5rem !important;
}
-}
-@media (min-width: 992px) {
- .text-lg-left {
- text-align: left !important;
+
+ .px-xl-3 {
+ padding-right: 1rem !important;
+ padding-left: 1rem !important;
}
- .text-lg-right {
- text-align: right !important;
+ .px-xl-4 {
+ padding-right: 1.5rem !important;
+ padding-left: 1.5rem !important;
}
- .text-lg-center {
- text-align: center !important;
+ .px-xl-5 {
+ padding-right: 3rem !important;
+ padding-left: 3rem !important;
}
-}
-@media (min-width: 1200px) {
- .text-xl-left {
- text-align: left !important;
+
+ .py-xl-0 {
+ padding-top: 0 !important;
+ padding-bottom: 0 !important;
}
- .text-xl-right {
- text-align: right !important;
+ .py-xl-1 {
+ padding-top: 0.25rem !important;
+ padding-bottom: 0.25rem !important;
}
- .text-xl-center {
- text-align: center !important;
+ .py-xl-2 {
+ padding-top: 0.5rem !important;
+ padding-bottom: 0.5rem !important;
}
-}
-.text-lowercase {
- text-transform: lowercase !important;
-}
-.text-uppercase {
- text-transform: uppercase !important;
-}
+ .py-xl-3 {
+ padding-top: 1rem !important;
+ padding-bottom: 1rem !important;
+ }
-.text-capitalize {
- text-transform: capitalize !important;
-}
+ .py-xl-4 {
+ padding-top: 1.5rem !important;
+ padding-bottom: 1.5rem !important;
+ }
-.font-weight-light {
- font-weight: 300 !important;
-}
+ .py-xl-5 {
+ padding-top: 3rem !important;
+ padding-bottom: 3rem !important;
+ }
-.font-weight-lighter {
- font-weight: lighter !important;
-}
+ .pt-xl-0 {
+ padding-top: 0 !important;
+ }
-.font-weight-normal {
- font-weight: 400 !important;
-}
+ .pt-xl-1 {
+ padding-top: 0.25rem !important;
+ }
-.font-weight-bold {
- font-weight: 700 !important;
-}
+ .pt-xl-2 {
+ padding-top: 0.5rem !important;
+ }
-.font-weight-bolder {
- font-weight: bolder !important;
-}
+ .pt-xl-3 {
+ padding-top: 1rem !important;
+ }
-.font-italic {
- font-style: italic !important;
-}
+ .pt-xl-4 {
+ padding-top: 1.5rem !important;
+ }
-.text-white {
- color: #fff !important;
-}
+ .pt-xl-5 {
+ padding-top: 3rem !important;
+ }
-.text-primary {
- color: #0078d7 !important;
-}
+ .pe-xl-0 {
+ padding-right: 0 !important;
+ }
-a.text-primary:hover, a.text-primary:focus {
- color: #004d8b !important;
-}
+ .pe-xl-1 {
+ padding-right: 0.25rem !important;
+ }
-.text-secondary {
- color: #6c757d !important;
-}
+ .pe-xl-2 {
+ padding-right: 0.5rem !important;
+ }
-a.text-secondary:hover, a.text-secondary:focus {
- color: #494f54 !important;
-}
+ .pe-xl-3 {
+ padding-right: 1rem !important;
+ }
-.text-success {
- color: #97c800 !important;
-}
+ .pe-xl-4 {
+ padding-right: 1.5rem !important;
+ }
-a.text-success:hover, a.text-success:focus {
- color: #5d7c00 !important;
-}
+ .pe-xl-5 {
+ padding-right: 3rem !important;
+ }
-.text-info {
- color: #0098df !important;
-}
+ .pb-xl-0 {
+ padding-bottom: 0 !important;
+ }
-a.text-info:hover, a.text-info:focus {
- color: #006493 !important;
-}
+ .pb-xl-1 {
+ padding-bottom: 0.25rem !important;
+ }
-.text-warning {
- color: #ffc000 !important;
-}
+ .pb-xl-2 {
+ padding-bottom: 0.5rem !important;
+ }
-a.text-warning:hover, a.text-warning:focus {
- color: #b38600 !important;
-}
+ .pb-xl-3 {
+ padding-bottom: 1rem !important;
+ }
-.text-danger {
- color: #e74018 !important;
-}
+ .pb-xl-4 {
+ padding-bottom: 1.5rem !important;
+ }
-a.text-danger:hover, a.text-danger:focus {
- color: #a22d11 !important;
-}
+ .pb-xl-5 {
+ padding-bottom: 3rem !important;
+ }
-.text-light {
- color: #f8f9fa !important;
-}
+ .ps-xl-0 {
+ padding-left: 0 !important;
+ }
-a.text-light:hover, a.text-light:focus {
- color: #cbd3da !important;
-}
+ .ps-xl-1 {
+ padding-left: 0.25rem !important;
+ }
-.text-dark {
- color: #343a40 !important;
-}
+ .ps-xl-2 {
+ padding-left: 0.5rem !important;
+ }
-a.text-dark:hover, a.text-dark:focus {
- color: #121416 !important;
-}
+ .ps-xl-3 {
+ padding-left: 1rem !important;
+ }
-.text-body {
- color: #212529 !important;
-}
+ .ps-xl-4 {
+ padding-left: 1.5rem !important;
+ }
-.text-muted {
- color: #6c757d !important;
-}
+ .ps-xl-5 {
+ padding-left: 3rem !important;
+ }
-.text-black-50 {
- color: rgba(0, 0, 0, 0.5) !important;
-}
+ .text-xl-start {
+ text-align: left !important;
+ }
-.text-white-50 {
- color: rgba(255, 255, 255, 0.5) !important;
-}
+ .text-xl-end {
+ text-align: right !important;
+ }
-.text-hide {
- font: 0/0 a;
- color: transparent;
- text-shadow: none;
- background-color: transparent;
- border: 0;
+ .text-xl-center {
+ text-align: center !important;
+ }
}
+@media (min-width: 1200px) {
+ .fs-1 {
+ font-size: 2.5rem !important;
+ }
-.text-decoration-none {
- text-decoration: none !important;
-}
+ .fs-2 {
+ font-size: 2rem !important;
+ }
-.text-break {
- word-break: break-word !important;
- word-wrap: break-word !important;
-}
+ .fs-3 {
+ font-size: 1.75rem !important;
+ }
-.text-reset {
- color: inherit !important;
-}
+ .fs-4 {
+ font-size: 1.5rem !important;
+ }
-.visible {
- visibility: visible !important;
-}
+ .fs-sm-1 {
+ font-size: 2.5rem !important;
+ }
-.invisible {
- visibility: hidden !important;
-}
+ .fs-sm-2 {
+ font-size: 2rem !important;
+ }
-@media print {
- *,
-*::before,
-*::after {
- text-shadow: none !important;
- box-shadow: none !important;
+ .fs-sm-3 {
+ font-size: 1.75rem !important;
}
- a:not(.btn) {
- text-decoration: underline;
+ .fs-sm-4 {
+ font-size: 1.5rem !important;
}
- abbr[title]::after {
- content: " (" attr(title) ")";
+ .fs-md-1 {
+ font-size: 2.5rem !important;
}
- pre {
- white-space: pre-wrap !important;
+ .fs-md-2 {
+ font-size: 2rem !important;
}
- pre,
-blockquote {
- border: 1px solid #adb5bd;
- page-break-inside: avoid;
+ .fs-md-3 {
+ font-size: 1.75rem !important;
}
- thead {
- display: table-header-group;
+ .fs-md-4 {
+ font-size: 1.5rem !important;
}
- tr,
-img {
- page-break-inside: avoid;
+ .fs-lg-1 {
+ font-size: 2.5rem !important;
}
- p,
-h2,
-h3 {
- orphans: 3;
- widows: 3;
+ .fs-lg-2 {
+ font-size: 2rem !important;
}
- h2,
-h3 {
- page-break-after: avoid;
+ .fs-lg-3 {
+ font-size: 1.75rem !important;
}
- @page {
- size: a3;
+ .fs-lg-4 {
+ font-size: 1.5rem !important;
}
- body {
- min-width: 992px !important;
+}
+@media print {
+ .d-print-inline {
+ display: inline !important;
}
- .container {
- min-width: 992px !important;
+ .d-print-inline-block {
+ display: inline-block !important;
}
- .navbar {
- display: none;
+ .d-print-block {
+ display: block !important;
}
- .badge {
- border: 1px solid #000;
+ .d-print-grid {
+ display: grid !important;
}
- .table {
- border-collapse: collapse !important;
+ .d-print-table {
+ display: table !important;
}
- .table td,
-.table th {
- background-color: #fff !important;
+
+ .d-print-table-row {
+ display: table-row !important;
}
- .table-bordered th,
-.table-bordered td {
- border: 1px solid #dee2e6 !important;
+ .d-print-table-cell {
+ display: table-cell !important;
}
- .table-dark {
- color: inherit;
+ .d-print-flex {
+ display: flex !important;
}
- .table-dark th,
-.table-dark td,
-.table-dark thead th,
-.table-dark tbody + tbody {
- border-color: #dee2e6;
+
+ .d-print-inline-flex {
+ display: inline-flex !important;
}
- .table .thead-dark th {
- color: inherit;
- border-color: #dee2e6;
+ .d-print-none {
+ display: none !important;
}
}
.label {
@@ -10050,7 +9844,7 @@ h3 {
position: relative;
}
.nav .nav-link.active::after {
- background-color: #0078d7;
+ background-color: #005dc5;
width: calc(100% - (12px * 2));
height: 2px;
position: absolute;
@@ -10102,7 +9896,7 @@ h3 {
text-decoration: none;
}
.list-group.list-group-platforms .list-group-item.active, .list-group.list-group-platforms .list-group-item.active:hover {
- background-color: #0078d7 !important;
+ background-color: #005dc5 !important;
color: #fff;
}
@@ -10112,7 +9906,7 @@ h3 {
}
.btn.btn-filter {
background: transparent;
- color: #0078d7;
+ color: #005dc5;
font-weight: 600;
font-size: 0.9rem;
}
@@ -10132,7 +9926,7 @@ h3 {
.show > .btn-filter.dropdown-toggle {
background: transparent;
- color: #0078d7;
+ color: #005dc5;
}
.show > .btn-filter.dropdown-toggle:hover, .show > .btn-filter.dropdown-toggle:active, .show > .btn-filter.dropdown-toggle:focus {
box-shadow: none;
@@ -10205,7 +9999,7 @@ h3 {
}
.navbar {
- padding: 0 20px;
+ padding: 0 10px;
}
@media all and (min-width: 1200px) {
.navbar {
@@ -10228,7 +10022,7 @@ h3 {
left: 0;
}
.navbar .nav-item.active .nav-link::after {
- background-color: #0078d7;
+ background-color: #005dc5;
width: calc(100% - (12px * 2));
height: 2px;
position: absolute;
@@ -10250,6 +10044,19 @@ h3 {
opacity: 1;
background: rgba(170, 170, 170, 0.2);
}
+.navbar .nav-item .nav-link.nav-link-profile {
+ height: 50.67px;
+ padding-top: 0 !important;
+ padding-bottom: 0 !important;
+ display: flex;
+ flex-direction: row;
+ align-items: center;
+}
+.navbar .nav-item .nav-link.nav-link-profile .avatar {
+ height: 30px;
+ width: auto;
+ border-radius: 99px;
+}
.navbar .navbar-brand {
padding: 12px !important;
margin-right: 0;
@@ -10270,7 +10077,7 @@ h3 {
left: 0;
}
.navbar .navbar-brand.active::after {
- background-color: #0078d7;
+ background-color: #005dc5;
width: calc(100% - (12px * 2));
height: 2px;
position: absolute;
@@ -10295,7 +10102,7 @@ h3 {
.navbar .dropdown.show .nav-link {
background: transparent;
opacity: 1;
- border-bottom-color: #0078d7;
+ border-bottom-color: #005dc5;
}
.navbg {
@@ -10304,7 +10111,7 @@ h3 {
.jumbotron {
border-radius: 0;
- padding: 10px 20px;
+ padding: 10px;
margin-bottom: 0;
}
.jumbotron.highlights.tabs {
@@ -10317,48 +10124,48 @@ h3 {
padding-bottom: 0;
padding-top: 0;
}
-.jumbotron h1 {
+.jumbotron h1, .jumbotron .h1 {
font-weight: 700;
}
-.jumbotron h2 {
+.jumbotron h2, .jumbotron .h2 {
font-weight: 700;
margin: 0;
}
-.jumbotron h2 .fab {
+.jumbotron h2 .fab, .jumbotron .h2 .fab {
font-weight: 400 !important;
}
-.jumbotron h2 small {
+.jumbotron h2 small, .jumbotron .h2 small, .jumbotron h2 .small, .jumbotron .h2 .small {
font-size: 60%;
margin-left: 10px;
}
-.jumbotron h2 small .fa-angle-right {
+.jumbotron h2 small .fa-angle-right, .jumbotron .h2 small .fa-angle-right, .jumbotron h2 .small .fa-angle-right, .jumbotron .h2 .small .fa-angle-right {
opacity: 0.5;
}
-.jumbotron h2 small a {
+.jumbotron h2 small a, .jumbotron .h2 small a, .jumbotron h2 .small a, .jumbotron .h2 .small a {
opacity: 0.8;
text-decoration: none;
font-weight: 700;
}
-.jumbotron h2 small a:hover, .jumbotron h2 small a:active, .jumbotron h2 small a:focus {
+.jumbotron h2 small a:hover, .jumbotron .h2 small a:hover, .jumbotron h2 .small a:hover, .jumbotron .h2 .small a:hover, .jumbotron h2 small a:active, .jumbotron .h2 small a:active, .jumbotron h2 .small a:active, .jumbotron .h2 .small a:active, .jumbotron h2 small a:focus, .jumbotron .h2 small a:focus, .jumbotron h2 .small a:focus, .jumbotron .h2 .small a:focus {
opacity: 1;
}
-.jumbotron h2 small .text {
+.jumbotron h2 small .text, .jumbotron .h2 small .text, .jumbotron h2 .small .text, .jumbotron .h2 .small .text {
opacity: 0.8;
font-weight: 700;
}
-.jumbotron h5 {
+.jumbotron h5, .jumbotron .h5 {
font-weight: 700;
text-transform: uppercase;
margin: 0;
}
-.jumbotron h6 {
+.jumbotron h6, .jumbotron .h6 {
font-weight: 700;
text-transform: uppercase;
}
-.jumbotron.build-header h2 {
+.jumbotron.build-header h2, .jumbotron.build-header .h2 {
margin-bottom: 0 !important;
}
-.jumbotron.build-header h6 {
+.jumbotron.build-header h6, .jumbotron.build-header .h6 {
margin-left: 48px;
}
.jumbotron .lead {
@@ -10373,7 +10180,7 @@ h3 {
margin-top: 10px;
border-radius: 3px;
}
-.jumbotron.insider h1 {
+.jumbotron.insider h1, .jumbotron.insider .h1 {
margin-top: 20px;
}
.jumbotron.insider .row {
@@ -10503,11 +10310,11 @@ h3 {
font-weight: 600;
}
-h1, h2, h3, h4, h5, h6 {
+h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6 {
font-weight: 700;
}
-h1 {
+h1, .h1 {
line-height: 1;
}
@@ -10515,7 +10322,7 @@ h1 {
font-size: 20px;
font-weight: 600;
margin-top: 10px;
- color: #0078d7;
+ color: #005dc5;
}
.h3:first-child {
margin-top: 0;
@@ -10588,11 +10395,11 @@ h1 {
text-decoration: none;
}
-.changelog-content h2 {
+.changelog-content h2, .changelog-content .h2 {
padding-bottom: 0.2rem;
margin-bottom: 0.75rem;
}
-.changelog-content h3 {
+.changelog-content h3, .changelog-content .h3 {
margin-bottom: 0.75rem;
}
@@ -10626,7 +10433,7 @@ h1 {
margin-top: 20px;
margin-bottom: 0;
padding-bottom: 8px;
- color: #0078d7;
+ color: #005dc5;
}
.date-heading:first-child {
margin-top: 0 !important;
@@ -10660,22 +10467,10 @@ h1 {
.timeline .timeline-row .row .ring .label {
margin-right: 3px;
}
-.timeline .timeline-row .dot-container {
- position: absolute;
- width: 39px;
- height: 39px;
- top: 0;
- right: 0;
-}
-.timeline .timeline-row .dot-container .dot {
- background: #0078d7;
- border-radius: 8px;
- width: 8px;
- height: 8px;
- position: relative;
- top: 5px;
- left: 14px;
- display: inline-block;
+.timeline .timeline-row .version-tag {
+ display: flex;
+ align-items: center;
+ margin-right: 0.5rem;
}
.tile, .light .tile, .white .tile {
@@ -10692,6 +10487,10 @@ h1 {
color: #fff;
text-decoration: none;
}
+.tile.channel-inactive, .light .tile.channel-inactive, .white .tile.channel-inactive {
+ opacity: 0.5;
+ filter: grayscale(1);
+}
.tile .ring, .light .tile .ring, .white .tile .ring {
font-weight: 700;
text-transform: uppercase;
@@ -10738,7 +10537,7 @@ h1 {
background-color: #0098df;
}
.tile.none, .light .tile.none, .white .tile.none {
- background-color: #0078d7;
+ background-color: #005dc5;
}
.dark .tile.vnext .ring, .dark .tile.leak .ring, .black .tile.vnext .ring, .black .tile.leak .ring {
@@ -10769,7 +10568,7 @@ h1 {
color: #0098df;
}
.dark .tile.none .ring, .black .tile.none .ring {
- color: #0078d7;
+ color: #005dc5;
}
.row-gutter {
@@ -10801,7 +10600,7 @@ h1 {
position: relative;
}
.pagination .page-item:not(.disabled).active::after {
- background-color: #0078d7;
+ background-color: #005dc5;
width: calc(100% - (12px * 2));
height: 2px;
position: absolute;
@@ -10826,18 +10625,18 @@ h1 {
background: rgba(170, 170, 170, 0.2);
}
-.changelog a + h3 {
+.changelog a + h3, .changelog a + .h3 {
margin-top: 10px;
}
-.changelog h2 {
+.changelog h2, .changelog .h2 {
font-size: 1.6rem;
font-weight: 700;
}
-.changelog h3 {
+.changelog h3, .changelog .h3 {
font-size: 1.2rem;
font-weight: 700;
}
-.changelog h4 {
+.changelog h4, .changelog .h4 {
font-size: 20px;
font-weight: 700;
}
@@ -10855,7 +10654,7 @@ h1 {
font-size: 18px;
font-weight: 600;
}
-.changelog .alert.alert-warning h4 {
+.changelog .alert.alert-warning h4, .changelog .alert.alert-warning .h4 {
font-size: 24px;
font-weight: 700;
margin: 0;
@@ -10868,7 +10667,7 @@ h1 {
font-weight: 600;
padding-bottom: 0;
}
-.changelog .date-heading small {
+.changelog .date-heading small, .changelog .date-heading .small {
font-size: 19px;
font-weight: 600;
text-transform: uppercase;
@@ -11000,16 +10799,16 @@ h1 {
.release-notes {
margin-bottom: 2rem;
}
-.release-notes h3 {
+.release-notes h3, .release-notes .h3 {
font-weight: 600;
padding-bottom: 8px;
border-bottom: 1px solid transparent;
}
-.release-notes h3 small {
+.release-notes h3 small, .release-notes .h3 small, .release-notes h3 .small, .release-notes .h3 .small {
opacity: 0.6;
font-weight: 600;
}
-.release-notes h4 {
+.release-notes h4, .release-notes .h4 {
font-weight: 600;
margin-top: 5px;
margin-bottom: 5px;
@@ -11089,10 +10888,10 @@ h1 {
color: #fff;
text-decoration: none;
}
-.milestone h3 {
+.milestone h3, .milestone .h3 {
margin: 0;
}
-.milestone h4 {
+.milestone h4, .milestone .h4 {
margin: 0;
}
@@ -11116,21 +10915,21 @@ h1 {
margin-bottom: 10px;
}
}
-.lifecycle-stats h5 {
+.lifecycle-stats h5, .lifecycle-stats .h5 {
font-weight: 600;
text-transform: uppercase;
margin: 0;
font-size: 1rem;
}
-.lifecycle-stats h4 {
+.lifecycle-stats h4, .lifecycle-stats .h4 {
font-weight: 700;
}
-.platform-card h4 {
+.platform-card h4, .platform-card .h4 {
font-weight: 600;
margin-bottom: 0;
}
-.platform-card h6 {
+.platform-card h6, .platform-card .h6 {
font-weight: 700;
text-transform: uppercase;
margin-top: 0;
@@ -11163,15 +10962,15 @@ h1 {
.buildfeed .build-detail p {
margin-bottom: 0;
}
-.buildfeed .build-detail h4 {
+.buildfeed .build-detail h4, .buildfeed .build-detail .h4 {
margin-top: 0;
font-weight: 600;
}
-.buildfeed .build-title h2 {
+.buildfeed .build-title h2, .buildfeed .build-title .h2 {
margin-bottom: 0;
font-weight: 600;
}
-.buildfeed .build-title h5 {
+.buildfeed .build-title h5, .buildfeed .build-title .h5 {
margin-top: 0;
font-weight: 600;
}
@@ -11737,11 +11536,11 @@ span.CodeMirror-selectedtext {
}
.editor-toolbar a.fa-header-bigger:after {
- content: "\25B2";
+ content: "▲";
}
.editor-toolbar a.fa-header-smaller:after {
- content: "\25BC";
+ content: "▼";
}
.editor-toolbar.disabled-for-preview a:not(.no-disable) {
@@ -11889,6 +11688,10 @@ span.CodeMirror-selectedtext {
.white {
background: #fff;
color: #222;
+ scrollbar-color: #eaeaea #fff;
+}
+.white::-webkit-scrollbar-thumb {
+ background-color: #eaeaea;
}
.white .navbg {
background: #eaeaea;
@@ -11907,10 +11710,10 @@ span.CodeMirror-selectedtext {
background-color: #eaeaea !important;
color: #222;
}
-.white .jumbotron h2 small a {
+.white .jumbotron h2 small a, .white .jumbotron .h2 small a, .white .jumbotron h2 .small a, .white .jumbotron .h2 .small a {
color: #222;
}
-.white .jumbotron h2 small .text {
+.white .jumbotron h2 small .text, .white .jumbotron .h2 small .text, .white .jumbotron h2 .small .text, .white .jumbotron .h2 .small .text {
color: #222;
}
.white .tile, .white .btn-vnext {
@@ -11984,7 +11787,7 @@ span.CodeMirror-selectedtext {
.white .milestone-navigation:hover {
box-shadow: 0 4px 10px 0 rgba(0, 0, 0, 0.1);
}
-.white .release-notes h3 {
+.white .release-notes h3, .white .release-notes .h3 {
border-bottom-color: #eaeaea;
}
.white .release-notes p {
@@ -12033,10 +11836,10 @@ span.CodeMirror-selectedtext {
.white .modal .modal-content .modal-body {
background: #fff;
}
-.white .lifecycle-stats h5 {
+.white .lifecycle-stats h5, .white .lifecycle-stats .h5 {
color: #888;
}
-.white .lifecycle-stats h4 {
+.white .lifecycle-stats h4, .white .lifecycle-stats .h4 {
color: #222;
}
.white .form-control {
@@ -12045,7 +11848,7 @@ span.CodeMirror-selectedtext {
border-color: #eaeaea;
}
.white .form-control:focus {
- border-color: #0078d7;
+ border-color: #005dc5;
}
.white .buildfeed .bf {
color: #222;
@@ -12069,13 +11872,17 @@ span.CodeMirror-selectedtext {
.white hr {
border-color: #ddd;
}
-.white .changelog-content h2 {
+.white .changelog-content h2, .white .changelog-content .h2 {
border-bottom: 1px solid #eee;
}
.light {
background: #e6e6e6;
color: #000;
+ scrollbar-color: #d2d2d2 #e6e6e6;
+}
+.light::-webkit-scrollbar-thumb {
+ background-color: #d2d2d2;
}
.light .navbg {
background: #d2d2d2;
@@ -12094,10 +11901,10 @@ span.CodeMirror-selectedtext {
background-color: #d2d2d2 !important;
color: #000;
}
-.light .jumbotron h2 small a {
+.light .jumbotron h2 small a, .light .jumbotron .h2 small a, .light .jumbotron h2 .small a, .light .jumbotron .h2 .small a {
color: #000;
}
-.light .jumbotron h2 small .text {
+.light .jumbotron h2 small .text, .light .jumbotron .h2 small .text, .light .jumbotron h2 .small .text, .light .jumbotron .h2 .small .text {
color: #000;
}
.light .tile, .light .btn-vnext {
@@ -12171,7 +11978,7 @@ span.CodeMirror-selectedtext {
.light .milestone-navigation:hover {
box-shadow: 0 4px 10px 0 rgba(0, 0, 0, 0.1);
}
-.light .release-notes h3 {
+.light .release-notes h3, .light .release-notes .h3 {
border-bottom-color: #d2d2d2;
}
.light .release-notes p {
@@ -12220,10 +12027,10 @@ span.CodeMirror-selectedtext {
.light .modal .modal-content .modal-body {
background: #e6e6e6;
}
-.light .lifecycle-stats h5 {
+.light .lifecycle-stats h5, .light .lifecycle-stats .h5 {
color: #666;
}
-.light .lifecycle-stats h4 {
+.light .lifecycle-stats h4, .light .lifecycle-stats .h4 {
color: #000;
}
.light .form-control {
@@ -12232,7 +12039,7 @@ span.CodeMirror-selectedtext {
border-color: #d2d2d2;
}
.light .form-control:focus {
- border-color: #0078d7;
+ border-color: #005dc5;
}
.light .buildfeed .bf {
color: #000;
@@ -12256,13 +12063,17 @@ span.CodeMirror-selectedtext {
.light hr {
border-color: #ccc;
}
-.light .changelog-content h2 {
+.light .changelog-content h2, .light .changelog-content .h2 {
border-bottom: 1px solid #ddd;
}
.dark {
background: #292929;
color: #fff;
+ scrollbar-color: #1d1d1d #292929;
+}
+.dark::-webkit-scrollbar-thumb {
+ background-color: #1d1d1d;
}
.dark .navbg {
background: #1d1d1d;
@@ -12281,10 +12092,10 @@ span.CodeMirror-selectedtext {
background-color: #1d1d1d !important;
color: #fff;
}
-.dark .jumbotron h2 small a {
+.dark .jumbotron h2 small a, .dark .jumbotron .h2 small a, .dark .jumbotron h2 .small a, .dark .jumbotron .h2 .small a {
color: #fff;
}
-.dark .jumbotron h2 small .text {
+.dark .jumbotron h2 small .text, .dark .jumbotron .h2 small .text, .dark .jumbotron h2 .small .text, .dark .jumbotron .h2 .small .text {
color: #fff;
}
.dark .tile, .dark .btn-vnext {
@@ -12358,7 +12169,7 @@ span.CodeMirror-selectedtext {
.dark .milestone-navigation:hover {
box-shadow: 0 4px 10px 0 rgba(0, 0, 0, 0.3);
}
-.dark .release-notes h3 {
+.dark .release-notes h3, .dark .release-notes .h3 {
border-bottom-color: #1d1d1d;
}
.dark .release-notes p {
@@ -12407,10 +12218,10 @@ span.CodeMirror-selectedtext {
.dark .modal .modal-content .modal-body {
background: #292929;
}
-.dark .lifecycle-stats h5 {
+.dark .lifecycle-stats h5, .dark .lifecycle-stats .h5 {
color: #888;
}
-.dark .lifecycle-stats h4 {
+.dark .lifecycle-stats h4, .dark .lifecycle-stats .h4 {
color: #fff;
}
.dark .form-control {
@@ -12419,7 +12230,7 @@ span.CodeMirror-selectedtext {
border-color: #1d1d1d;
}
.dark .form-control:focus {
- border-color: #0078d7;
+ border-color: #005dc5;
}
.dark .buildfeed .bf {
color: #fff;
@@ -12443,13 +12254,17 @@ span.CodeMirror-selectedtext {
.dark hr {
border-color: #363636;
}
-.dark .changelog-content h2 {
+.dark .changelog-content h2, .dark .changelog-content .h2 {
border-bottom: 1px solid #444;
}
.black {
background: #000;
color: #fff;
+ scrollbar-color: #151515 #000;
+}
+.black::-webkit-scrollbar-thumb {
+ background-color: #151515;
}
.black .navbg {
background: #151515;
@@ -12468,10 +12283,10 @@ span.CodeMirror-selectedtext {
background-color: #151515 !important;
color: #fff;
}
-.black .jumbotron h2 small a {
+.black .jumbotron h2 small a, .black .jumbotron .h2 small a, .black .jumbotron h2 .small a, .black .jumbotron .h2 .small a {
color: #fff;
}
-.black .jumbotron h2 small .text {
+.black .jumbotron h2 small .text, .black .jumbotron .h2 small .text, .black .jumbotron h2 .small .text, .black .jumbotron .h2 .small .text {
color: #fff;
}
.black .tile, .black .btn-vnext {
@@ -12545,7 +12360,7 @@ span.CodeMirror-selectedtext {
.black .milestone-navigation:hover {
box-shadow: 0 4px 10px 0 rgba(0, 0, 0, 0.3);
}
-.black .release-notes h3 {
+.black .release-notes h3, .black .release-notes .h3 {
border-bottom-color: #151515;
}
.black .release-notes p {
@@ -12594,10 +12409,10 @@ span.CodeMirror-selectedtext {
.black .modal .modal-content .modal-body {
background: #000;
}
-.black .lifecycle-stats h5 {
+.black .lifecycle-stats h5, .black .lifecycle-stats .h5 {
color: #777;
}
-.black .lifecycle-stats h4 {
+.black .lifecycle-stats h4, .black .lifecycle-stats .h4 {
color: #fff;
}
.black .form-control {
@@ -12606,7 +12421,7 @@ span.CodeMirror-selectedtext {
border-color: #151515;
}
.black .form-control:focus {
- border-color: #0078d7;
+ border-color: #005dc5;
}
.black .buildfeed .bf {
color: #fff;
@@ -12630,7 +12445,7 @@ span.CodeMirror-selectedtext {
.black hr {
border-color: #222;
}
-.black .changelog-content h2 {
+.black .changelog-content h2, .black .changelog-content .h2 {
border-bottom: 1px solid #333;
}
@@ -12642,6 +12457,10 @@ body {
background-image: linear-gradient(90deg, #0078d7 0%, #0059be 100%) !important;
}
+a {
+ text-decoration: none;
+}
+
.hero {
background-repeat: no-repeat;
background-size: cover;
@@ -12691,10 +12510,10 @@ body {
text-align: center;
padding-top: 70px;
padding-bottom: 70px;
- background-color: #0078d7;
+ background-color: #005dc5;
color: #fff;
}
-.profile-header h1 {
+.profile-header h1, .profile-header .h1 {
margin-bottom: 0;
}
@@ -12752,4 +12571,18 @@ footer .luna {
}
.login-form .btn {
margin-top: 15px;
-}
\ No newline at end of file
+}
+
+body {
+ scrollbar-width: thin;
+}
+body::-webkit-scrollbar {
+ width: 6px;
+}
+body::-webkit-scrollbar-track {
+ margin-bottom: 2px;
+ margin-top: 2px;
+}
+body::-webkit-scrollbar-thumb {
+ border-radius: 10px;
+}
diff --git a/public/css/easymde.min.css b/public/css/easymde.min.css
new file mode 100644
index 0000000..a087d02
--- /dev/null
+++ b/public/css/easymde.min.css
@@ -0,0 +1,7 @@
+/**
+ * easymde v2.13.0
+ * Copyright Jeroen Akkerman
+ * @link https://github.com/ionaru/easy-markdown-editor
+ * @license MIT
+ */
+.CodeMirror{font-family:monospace;height:300px;color:#000;direction:ltr}.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{border-right:1px solid #ddd;background-color:#f7f7f7;white-space:nowrap}.CodeMirror-linenumber{padding:0 3px 0 5px;min-width:20px;text-align:right;color:#999;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{width:auto;border:0!important;background:#7e7}.cm-fat-cursor div.CodeMirror-cursors{z-index:1}.cm-fat-cursor-mark{background-color:rgba(20,255,20,.5);-webkit-animation:blink 1.06s steps(1) infinite;-moz-animation:blink 1.06s steps(1) infinite;animation:blink 1.06s steps(1) infinite}.cm-animate-fat-cursor{width:auto;border:0;-webkit-animation:blink 1.06s steps(1) infinite;-moz-animation:blink 1.06s steps(1) infinite;animation:blink 1.06s steps(1) infinite;background-color:#7e7}@-moz-keyframes blink{50%{background-color:transparent}}@-webkit-keyframes blink{50%{background-color:transparent}}@keyframes blink{50%{background-color:transparent}}.cm-tab{display:inline-block;text-decoration:inherit}.CodeMirror-rulers{position:absolute;left:0;right:0;top:-50px;bottom:0;overflow:hidden}.CodeMirror-ruler{border-left:1px solid #ccc;top:0;bottom:0;position:absolute}.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{color:#555}.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-s-default .cm-error{color:red}.cm-invalidchar{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{position:relative;overflow:hidden;background:#fff}.CodeMirror-scroll{overflow:scroll!important;margin-bottom:-50px;margin-right:-50px;padding-bottom:50px;height:100%;outline:0;position:relative}.CodeMirror-sizer{position:relative;border-right:50px solid transparent}.CodeMirror-gutter-filler,.CodeMirror-hscrollbar,.CodeMirror-scrollbar-filler,.CodeMirror-vscrollbar{position:absolute;z-index:6;display:none;outline:0}.CodeMirror-vscrollbar{right:0;top:0;overflow-x:hidden;overflow-y:scroll}.CodeMirror-hscrollbar{bottom:0;left:0;overflow-y:hidden;overflow-x:scroll}.CodeMirror-scrollbar-filler{right:0;bottom:0}.CodeMirror-gutter-filler{left:0;bottom:0}.CodeMirror-gutters{position:absolute;left:0;top:0;min-height:100%;z-index:3}.CodeMirror-gutter{white-space:normal;height:100%;display:inline-block;vertical-align:top;margin-bottom:-50px}.CodeMirror-gutter-wrapper{position:absolute;z-index:4;background:0 0!important;border:none!important}.CodeMirror-gutter-background{position:absolute;top:0;bottom:0;z-index:4}.CodeMirror-gutter-elt{position:absolute;cursor:default;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{-moz-border-radius:0;-webkit-border-radius:0;border-radius:0;border-width:0;background:0 0;font-family:inherit;font-size:inherit;margin:0;white-space:pre;word-wrap:normal;line-height:inherit;color:inherit;z-index:2;position:relative;overflow:visible;-webkit-tap-highlight-color:transparent;-webkit-font-variant-ligatures:contextual;font-variant-ligatures:contextual}.CodeMirror-wrap pre.CodeMirror-line,.CodeMirror-wrap pre.CodeMirror-line-like{word-wrap:break-word;white-space:pre-wrap;word-break:normal}.CodeMirror-linebackground{position:absolute;left:0;right:0;top:0;bottom:0;z-index:0}.CodeMirror-linewidget{position:relative;z-index:2;padding:.1px}.CodeMirror-rtl pre{direction:rtl}.CodeMirror-code{outline:0}.CodeMirror-gutter,.CodeMirror-gutters,.CodeMirror-linenumber,.CodeMirror-scroll,.CodeMirror-sizer{-moz-box-sizing:content-box;box-sizing:content-box}.CodeMirror-measure{position:absolute;width:100%;height:0;overflow:hidden;visibility:hidden}.CodeMirror-cursor{position:absolute;pointer-events:none}.CodeMirror-measure pre{position:static}div.CodeMirror-cursors{visibility:hidden;position:relative;z-index:3}div.CodeMirror-dragcursors{visibility:visible}.CodeMirror-focused div.CodeMirror-cursors{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:rgba(255,255,0,.4)}.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}.EasyMDEContainer.sided--no-fullscreen{display:flex;flex-direction:row;flex-wrap:wrap}.EasyMDEContainer .CodeMirror{box-sizing:border-box;height:auto;border:1px solid #ddd;border-bottom-left-radius:4px;border-bottom-right-radius:4px;padding:10px;font:inherit;z-index:0;word-wrap:break-word}.EasyMDEContainer .CodeMirror-scroll{cursor:text}.EasyMDEContainer .CodeMirror-fullscreen{background:#fff;position:fixed!important;top:50px;left:0;right:0;bottom:0;height:auto;z-index:8;border-right:none!important;border-bottom-right-radius:0!important}.EasyMDEContainer .CodeMirror-sided{width:50%!important}.EasyMDEContainer .CodeMirror-sided.sided--no-fullscreen{border-right:none!important;border-bottom-right-radius:0;position:relative;flex:1 1 auto}.EasyMDEContainer .CodeMirror-placeholder{opacity:.5}.EasyMDEContainer .CodeMirror-focused .CodeMirror-selected{background:#d9d9d9}.editor-toolbar{position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;padding:0 10px;border-top:1px solid #bbb;border-left:1px solid #bbb;border-right:1px solid #bbb;border-top-left-radius:4px;border-top-right-radius:4px}.editor-toolbar:after,.editor-toolbar:before{display:block;content:' ';height:1px}.editor-toolbar:before{margin-bottom:8px}.editor-toolbar:after{margin-top:8px}.editor-toolbar.fullscreen{width:100%;height:50px;padding-top:10px;padding-bottom:10px;box-sizing:border-box;background:#fff;border:0;position:fixed;top:0;left:0;opacity:1;z-index:9}.editor-toolbar.fullscreen::before{width:20px;height:50px;background:-moz-linear-gradient(left,#fff 0,rgba(255,255,255,0) 100%);background:-webkit-gradient(linear,left top,right top,color-stop(0,#fff),color-stop(100%,rgba(255,255,255,0)));background:-webkit-linear-gradient(left,#fff 0,rgba(255,255,255,0) 100%);background:-o-linear-gradient(left,#fff 0,rgba(255,255,255,0) 100%);background:-ms-linear-gradient(left,#fff 0,rgba(255,255,255,0) 100%);background:linear-gradient(to right,#fff 0,rgba(255,255,255,0) 100%);position:fixed;top:0;left:0;margin:0;padding:0}.editor-toolbar.fullscreen::after{width:20px;height:50px;background:-moz-linear-gradient(left,rgba(255,255,255,0) 0,#fff 100%);background:-webkit-gradient(linear,left top,right top,color-stop(0,rgba(255,255,255,0)),color-stop(100%,#fff));background:-webkit-linear-gradient(left,rgba(255,255,255,0) 0,#fff 100%);background:-o-linear-gradient(left,rgba(255,255,255,0) 0,#fff 100%);background:-ms-linear-gradient(left,rgba(255,255,255,0) 0,#fff 100%);background:linear-gradient(to right,rgba(255,255,255,0) 0,#fff 100%);position:fixed;top:0;right:0;margin:0;padding:0}.editor-toolbar.sided--no-fullscreen{width:100%}.editor-toolbar .easymde-dropdown,.editor-toolbar button{background:0 0;display:inline-block;text-align:center;text-decoration:none!important;height:30px;margin:0;padding:0;border:1px solid transparent;border-radius:3px;cursor:pointer}.editor-toolbar button{width:30px}.editor-toolbar button.active,.editor-toolbar button:hover{background:#fcfcfc;border-color:#95a5a6}.editor-toolbar i.separator{display:inline-block;width:0;border-left:1px solid #d9d9d9;border-right:1px solid #fff;color:transparent;text-indent:-10px;margin:0 6px}.editor-toolbar button:after{font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;font-size:65%;vertical-align:text-bottom;position:relative;top:2px}.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:"▲"}.editor-toolbar button.heading-smaller:after{content:"▼"}.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{padding:8px 10px;font-size:12px;color:#959694;text-align:right}.editor-statusbar.sided--no-fullscreen{width:100%}.editor-statusbar span{display:inline-block;min-width:4em;margin-left:1em}.editor-statusbar .lines:before{content:'lines: '}.editor-statusbar .words:before{content:'words: '}.editor-statusbar .characters:before{content:'characters: '}.editor-preview-full{position:absolute;width:100%;height:100%;top:0;left:0;z-index:7;overflow:auto;display:none;box-sizing:border-box}.editor-preview-side{position:fixed;bottom:0;width:50%;top:50px;right:0;z-index:9;overflow:auto;display:none;box-sizing:border-box;border:1px solid #ddd;word-wrap:break-word}.editor-preview-active-side{display:block}.editor-preview-active-side.sided--no-fullscreen{flex:1 1 auto;height:auto;position:static}.editor-preview-active{display:block}.editor-preview{padding:10px;background:#fafafa}.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:200%;line-height:200%}.cm-s-easymde .cm-header-2{font-size:160%;line-height:160%}.cm-s-easymde .cm-header-3{font-size:125%;line-height:125%}.cm-s-easymde .cm-header-4{font-size:110%;line-height:110%}.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{position:relative;background:linear-gradient(to bottom right,#fff 0,#fff 84%,#333 50%,#333 100%);border-radius:0;border:1px solid #fff}.editor-toolbar .easymde-dropdown:hover{background:linear-gradient(to bottom right,#fff 0,#fff 84%,#333 50%,#333 100%)}.easymde-dropdown-content{display:none;position:absolute;background-color:#f9f9f9;box-shadow:0 8px 16px 0 rgba(0,0,0,.2);padding:8px;z-index:2;top:30px}.easymde-dropdown:active .easymde-dropdown-content,.easymde-dropdown:focus .easymde-dropdown-content{display:block}span[data-img-src]::before{content:'';background-image:var(--bg-image);display:block;max-height:100%;max-width:100%;background-size:contain;height:0;padding-top:var(--height);width:var(--width);background-repeat:no-repeat}.CodeMirror .cm-spell-error:not(.cm-url):not(.cm-comment):not(.cm-tag):not(.cm-word){background:rgba(255,0,0,.15)}
\ No newline at end of file
diff --git a/public/img/header.png b/public/img/header.png
deleted file mode 100644
index d8ddc37..0000000
Binary files a/public/img/header.png and /dev/null differ
diff --git a/public/img/header_buildfeed.png b/public/img/header_buildfeed.png
deleted file mode 100644
index a592b1b..0000000
Binary files a/public/img/header_buildfeed.png and /dev/null differ
diff --git a/public/img/logo.png b/public/img/logo.png
index 3f11ec8..b01426c 100644
Binary files a/public/img/logo.png and b/public/img/logo.png differ
diff --git a/public/img/models/user.png b/public/img/models/user.png
new file mode 100644
index 0000000..62282b4
Binary files /dev/null and b/public/img/models/user.png differ
diff --git a/public/js/alpine.js b/public/js/alpine.js
new file mode 100644
index 0000000..efb5bc3
--- /dev/null
+++ b/public/js/alpine.js
@@ -0,0 +1,1942 @@
+(function (global, factory) {
+ typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
+ typeof define === 'function' && define.amd ? define(factory) :
+ (global = global || self, global.Alpine = factory());
+}(this, (function () { 'use strict';
+
+ function _defineProperty(obj, key, value) {
+ if (key in obj) {
+ Object.defineProperty(obj, key, {
+ value: value,
+ enumerable: true,
+ configurable: true,
+ writable: true
+ });
+ } else {
+ obj[key] = value;
+ }
+
+ return obj;
+ }
+
+ function ownKeys(object, enumerableOnly) {
+ var keys = Object.keys(object);
+
+ if (Object.getOwnPropertySymbols) {
+ var symbols = Object.getOwnPropertySymbols(object);
+ if (enumerableOnly) symbols = symbols.filter(function (sym) {
+ return Object.getOwnPropertyDescriptor(object, sym).enumerable;
+ });
+ keys.push.apply(keys, symbols);
+ }
+
+ return keys;
+ }
+
+ function _objectSpread2(target) {
+ for (var i = 1; i < arguments.length; i++) {
+ var source = arguments[i] != null ? arguments[i] : {};
+
+ if (i % 2) {
+ ownKeys(Object(source), true).forEach(function (key) {
+ _defineProperty(target, key, source[key]);
+ });
+ } else if (Object.getOwnPropertyDescriptors) {
+ Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
+ } else {
+ ownKeys(Object(source)).forEach(function (key) {
+ Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
+ });
+ }
+ }
+
+ return target;
+ }
+
+ // Thanks @stimulus:
+ // https://github.com/stimulusjs/stimulus/blob/master/packages/%40stimulus/core/src/application.ts
+ function domReady() {
+ return new Promise(resolve => {
+ if (document.readyState == "loading") {
+ document.addEventListener("DOMContentLoaded", resolve);
+ } else {
+ resolve();
+ }
+ });
+ }
+ function arrayUnique(array) {
+ return Array.from(new Set(array));
+ }
+ function isTesting() {
+ return navigator.userAgent.includes("Node.js") || navigator.userAgent.includes("jsdom");
+ }
+ function checkedAttrLooseCompare(valueA, valueB) {
+ return valueA == valueB;
+ }
+ function warnIfMalformedTemplate(el, directive) {
+ if (el.tagName.toLowerCase() !== 'template') {
+ console.warn(`Alpine: [${directive}] directive should only be added to tags. See https://github.com/alpinejs/alpine#${directive}`);
+ } else if (el.content.childElementCount !== 1) {
+ console.warn(`Alpine: tag with [${directive}] encountered with multiple element roots. Make sure only has a single child element.`);
+ }
+ }
+ function kebabCase(subject) {
+ return subject.replace(/([a-z])([A-Z])/g, '$1-$2').replace(/[_\s]/, '-').toLowerCase();
+ }
+ function camelCase(subject) {
+ return subject.toLowerCase().replace(/-(\w)/g, (match, char) => char.toUpperCase());
+ }
+ function walk(el, callback) {
+ if (callback(el) === false) return;
+ let node = el.firstElementChild;
+
+ while (node) {
+ walk(node, callback);
+ node = node.nextElementSibling;
+ }
+ }
+ function debounce(func, wait) {
+ var timeout;
+ return function () {
+ var context = this,
+ args = arguments;
+
+ var later = function later() {
+ timeout = null;
+ func.apply(context, args);
+ };
+
+ clearTimeout(timeout);
+ timeout = setTimeout(later, wait);
+ };
+ }
+
+ const handleError = (el, expression, error) => {
+ console.warn(`Alpine Error: "${error}"\n\nExpression: "${expression}"\nElement:`, el);
+
+ if (!isTesting()) {
+ throw error;
+ }
+ };
+
+ function tryCatch(cb, {
+ el,
+ expression
+ }) {
+ try {
+ const value = cb();
+ return value instanceof Promise ? value.catch(e => handleError(el, expression, e)) : value;
+ } catch (e) {
+ handleError(el, expression, e);
+ }
+ }
+
+ function saferEval(el, expression, dataContext, additionalHelperVariables = {}) {
+ return tryCatch(() => {
+ if (typeof expression === 'function') {
+ return expression.call(dataContext);
+ }
+
+ return new Function(['$data', ...Object.keys(additionalHelperVariables)], `var __alpine_result; with($data) { __alpine_result = ${expression} }; return __alpine_result`)(dataContext, ...Object.values(additionalHelperVariables));
+ }, {
+ el,
+ expression
+ });
+ }
+ function saferEvalNoReturn(el, expression, dataContext, additionalHelperVariables = {}) {
+ return tryCatch(() => {
+ if (typeof expression === 'function') {
+ return Promise.resolve(expression.call(dataContext, additionalHelperVariables['$event']));
+ }
+
+ let AsyncFunction = Function;
+ /* MODERN-ONLY:START */
+
+ AsyncFunction = Object.getPrototypeOf(async function () {}).constructor;
+ /* MODERN-ONLY:END */
+ // For the cases when users pass only a function reference to the caller: `x-on:click="foo"`
+ // Where "foo" is a function. Also, we'll pass the function the event instance when we call it.
+
+ if (Object.keys(dataContext).includes(expression)) {
+ let methodReference = new Function(['dataContext', ...Object.keys(additionalHelperVariables)], `with(dataContext) { return ${expression} }`)(dataContext, ...Object.values(additionalHelperVariables));
+
+ if (typeof methodReference === 'function') {
+ return Promise.resolve(methodReference.call(dataContext, additionalHelperVariables['$event']));
+ } else {
+ return Promise.resolve();
+ }
+ }
+
+ return Promise.resolve(new AsyncFunction(['dataContext', ...Object.keys(additionalHelperVariables)], `with(dataContext) { ${expression} }`)(dataContext, ...Object.values(additionalHelperVariables)));
+ }, {
+ el,
+ expression
+ });
+ }
+ const xAttrRE = /^x-(on|bind|data|text|html|model|if|for|show|cloak|transition|ref|spread)\b/;
+ function isXAttr(attr) {
+ const name = replaceAtAndColonWithStandardSyntax(attr.name);
+ return xAttrRE.test(name);
+ }
+ function getXAttrs(el, component, type) {
+ let directives = Array.from(el.attributes).filter(isXAttr).map(parseHtmlAttribute); // Get an object of directives from x-spread.
+
+ let spreadDirective = directives.filter(directive => directive.type === 'spread')[0];
+
+ if (spreadDirective) {
+ let spreadObject = saferEval(el, spreadDirective.expression, component.$data); // Add x-spread directives to the pile of existing directives.
+
+ directives = directives.concat(Object.entries(spreadObject).map(([name, value]) => parseHtmlAttribute({
+ name,
+ value
+ })));
+ }
+
+ if (type) return directives.filter(i => i.type === type);
+ return sortDirectives(directives);
+ }
+
+ function sortDirectives(directives) {
+ let directiveOrder = ['bind', 'model', 'show', 'catch-all'];
+ return directives.sort((a, b) => {
+ let typeA = directiveOrder.indexOf(a.type) === -1 ? 'catch-all' : a.type;
+ let typeB = directiveOrder.indexOf(b.type) === -1 ? 'catch-all' : b.type;
+ return directiveOrder.indexOf(typeA) - directiveOrder.indexOf(typeB);
+ });
+ }
+
+ function parseHtmlAttribute({
+ name,
+ value
+ }) {
+ const normalizedName = replaceAtAndColonWithStandardSyntax(name);
+ const typeMatch = normalizedName.match(xAttrRE);
+ const valueMatch = normalizedName.match(/:([a-zA-Z0-9\-:]+)/);
+ const modifiers = normalizedName.match(/\.[^.\]]+(?=[^\]]*$)/g) || [];
+ return {
+ type: typeMatch ? typeMatch[1] : null,
+ value: valueMatch ? valueMatch[1] : null,
+ modifiers: modifiers.map(i => i.replace('.', '')),
+ expression: value
+ };
+ }
+ function isBooleanAttr(attrName) {
+ // As per HTML spec table https://html.spec.whatwg.org/multipage/indices.html#attributes-3:boolean-attribute
+ // Array roughly ordered by estimated usage
+ const booleanAttributes = ['disabled', 'checked', 'required', 'readonly', 'hidden', 'open', 'selected', 'autofocus', 'itemscope', 'multiple', 'novalidate', 'allowfullscreen', 'allowpaymentrequest', 'formnovalidate', 'autoplay', 'controls', 'loop', 'muted', 'playsinline', 'default', 'ismap', 'reversed', 'async', 'defer', 'nomodule'];
+ return booleanAttributes.includes(attrName);
+ }
+ function replaceAtAndColonWithStandardSyntax(name) {
+ if (name.startsWith('@')) {
+ return name.replace('@', 'x-on:');
+ } else if (name.startsWith(':')) {
+ return name.replace(':', 'x-bind:');
+ }
+
+ return name;
+ }
+ function convertClassStringToArray(classList, filterFn = Boolean) {
+ return classList.split(' ').filter(filterFn);
+ }
+ const TRANSITION_TYPE_IN = 'in';
+ const TRANSITION_TYPE_OUT = 'out';
+ const TRANSITION_CANCELLED = 'cancelled';
+ function transitionIn(el, show, reject, component, forceSkip = false) {
+ // We don't want to transition on the initial page load.
+ if (forceSkip) return show();
+
+ if (el.__x_transition && el.__x_transition.type === TRANSITION_TYPE_IN) {
+ // there is already a similar transition going on, this was probably triggered by
+ // a change in a different property, let's just leave the previous one doing its job
+ return;
+ }
+
+ const attrs = getXAttrs(el, component, 'transition');
+ const showAttr = getXAttrs(el, component, 'show')[0]; // If this is triggered by a x-show.transition.
+
+ if (showAttr && showAttr.modifiers.includes('transition')) {
+ let modifiers = showAttr.modifiers; // If x-show.transition.out, we'll skip the "in" transition.
+
+ if (modifiers.includes('out') && !modifiers.includes('in')) return show();
+ const settingBothSidesOfTransition = modifiers.includes('in') && modifiers.includes('out'); // If x-show.transition.in...out... only use "in" related modifiers for this transition.
+
+ modifiers = settingBothSidesOfTransition ? modifiers.filter((i, index) => index < modifiers.indexOf('out')) : modifiers;
+ transitionHelperIn(el, modifiers, show, reject); // Otherwise, we can assume x-transition:enter.
+ } else if (attrs.some(attr => ['enter', 'enter-start', 'enter-end'].includes(attr.value))) {
+ transitionClassesIn(el, component, attrs, show, reject);
+ } else {
+ // If neither, just show that damn thing.
+ show();
+ }
+ }
+ function transitionOut(el, hide, reject, component, forceSkip = false) {
+ // We don't want to transition on the initial page load.
+ if (forceSkip) return hide();
+
+ if (el.__x_transition && el.__x_transition.type === TRANSITION_TYPE_OUT) {
+ // there is already a similar transition going on, this was probably triggered by
+ // a change in a different property, let's just leave the previous one doing its job
+ return;
+ }
+
+ const attrs = getXAttrs(el, component, 'transition');
+ const showAttr = getXAttrs(el, component, 'show')[0];
+
+ if (showAttr && showAttr.modifiers.includes('transition')) {
+ let modifiers = showAttr.modifiers;
+ if (modifiers.includes('in') && !modifiers.includes('out')) return hide();
+ const settingBothSidesOfTransition = modifiers.includes('in') && modifiers.includes('out');
+ modifiers = settingBothSidesOfTransition ? modifiers.filter((i, index) => index > modifiers.indexOf('out')) : modifiers;
+ transitionHelperOut(el, modifiers, settingBothSidesOfTransition, hide, reject);
+ } else if (attrs.some(attr => ['leave', 'leave-start', 'leave-end'].includes(attr.value))) {
+ transitionClassesOut(el, component, attrs, hide, reject);
+ } else {
+ hide();
+ }
+ }
+ function transitionHelperIn(el, modifiers, showCallback, reject) {
+ // Default values inspired by: https://material.io/design/motion/speed.html#duration
+ const styleValues = {
+ duration: modifierValue(modifiers, 'duration', 150),
+ origin: modifierValue(modifiers, 'origin', 'center'),
+ first: {
+ opacity: 0,
+ scale: modifierValue(modifiers, 'scale', 95)
+ },
+ second: {
+ opacity: 1,
+ scale: 100
+ }
+ };
+ transitionHelper(el, modifiers, showCallback, () => {}, reject, styleValues, TRANSITION_TYPE_IN);
+ }
+ function transitionHelperOut(el, modifiers, settingBothSidesOfTransition, hideCallback, reject) {
+ // Make the "out" transition .5x slower than the "in". (Visually better)
+ // HOWEVER, if they explicitly set a duration for the "out" transition,
+ // use that.
+ const duration = settingBothSidesOfTransition ? modifierValue(modifiers, 'duration', 150) : modifierValue(modifiers, 'duration', 150) / 2;
+ const styleValues = {
+ duration: duration,
+ origin: modifierValue(modifiers, 'origin', 'center'),
+ first: {
+ opacity: 1,
+ scale: 100
+ },
+ second: {
+ opacity: 0,
+ scale: modifierValue(modifiers, 'scale', 95)
+ }
+ };
+ transitionHelper(el, modifiers, () => {}, hideCallback, reject, styleValues, TRANSITION_TYPE_OUT);
+ }
+
+ function modifierValue(modifiers, key, fallback) {
+ // If the modifier isn't present, use the default.
+ if (modifiers.indexOf(key) === -1) return fallback; // If it IS present, grab the value after it: x-show.transition.duration.500ms
+
+ const rawValue = modifiers[modifiers.indexOf(key) + 1];
+ if (!rawValue) return fallback;
+
+ if (key === 'scale') {
+ // Check if the very next value is NOT a number and return the fallback.
+ // If x-show.transition.scale, we'll use the default scale value.
+ // That is how a user opts out of the opacity transition.
+ if (!isNumeric(rawValue)) return fallback;
+ }
+
+ if (key === 'duration') {
+ // Support x-show.transition.duration.500ms && duration.500
+ let match = rawValue.match(/([0-9]+)ms/);
+ if (match) return match[1];
+ }
+
+ if (key === 'origin') {
+ // Support chaining origin directions: x-show.transition.top.right
+ if (['top', 'right', 'left', 'center', 'bottom'].includes(modifiers[modifiers.indexOf(key) + 2])) {
+ return [rawValue, modifiers[modifiers.indexOf(key) + 2]].join(' ');
+ }
+ }
+
+ return rawValue;
+ }
+
+ function transitionHelper(el, modifiers, hook1, hook2, reject, styleValues, type) {
+ // clear the previous transition if exists to avoid caching the wrong styles
+ if (el.__x_transition) {
+ el.__x_transition.cancel && el.__x_transition.cancel();
+ } // If the user set these style values, we'll put them back when we're done with them.
+
+
+ const opacityCache = el.style.opacity;
+ const transformCache = el.style.transform;
+ const transformOriginCache = el.style.transformOrigin; // If no modifiers are present: x-show.transition, we'll default to both opacity and scale.
+
+ const noModifiers = !modifiers.includes('opacity') && !modifiers.includes('scale');
+ const transitionOpacity = noModifiers || modifiers.includes('opacity');
+ const transitionScale = noModifiers || modifiers.includes('scale'); // These are the explicit stages of a transition (same stages for in and for out).
+ // This way you can get a birds eye view of the hooks, and the differences
+ // between them.
+
+ const stages = {
+ start() {
+ if (transitionOpacity) el.style.opacity = styleValues.first.opacity;
+ if (transitionScale) el.style.transform = `scale(${styleValues.first.scale / 100})`;
+ },
+
+ during() {
+ if (transitionScale) el.style.transformOrigin = styleValues.origin;
+ el.style.transitionProperty = [transitionOpacity ? `opacity` : ``, transitionScale ? `transform` : ``].join(' ').trim();
+ el.style.transitionDuration = `${styleValues.duration / 1000}s`;
+ el.style.transitionTimingFunction = `cubic-bezier(0.4, 0.0, 0.2, 1)`;
+ },
+
+ show() {
+ hook1();
+ },
+
+ end() {
+ if (transitionOpacity) el.style.opacity = styleValues.second.opacity;
+ if (transitionScale) el.style.transform = `scale(${styleValues.second.scale / 100})`;
+ },
+
+ hide() {
+ hook2();
+ },
+
+ cleanup() {
+ if (transitionOpacity) el.style.opacity = opacityCache;
+ if (transitionScale) el.style.transform = transformCache;
+ if (transitionScale) el.style.transformOrigin = transformOriginCache;
+ el.style.transitionProperty = null;
+ el.style.transitionDuration = null;
+ el.style.transitionTimingFunction = null;
+ }
+
+ };
+ transition(el, stages, type, reject);
+ }
+
+ const ensureStringExpression = (expression, el, component) => {
+ return typeof expression === 'function' ? component.evaluateReturnExpression(el, expression) : expression;
+ };
+
+ function transitionClassesIn(el, component, directives, showCallback, reject) {
+ const enter = convertClassStringToArray(ensureStringExpression((directives.find(i => i.value === 'enter') || {
+ expression: ''
+ }).expression, el, component));
+ const enterStart = convertClassStringToArray(ensureStringExpression((directives.find(i => i.value === 'enter-start') || {
+ expression: ''
+ }).expression, el, component));
+ const enterEnd = convertClassStringToArray(ensureStringExpression((directives.find(i => i.value === 'enter-end') || {
+ expression: ''
+ }).expression, el, component));
+ transitionClasses(el, enter, enterStart, enterEnd, showCallback, () => {}, TRANSITION_TYPE_IN, reject);
+ }
+ function transitionClassesOut(el, component, directives, hideCallback, reject) {
+ const leave = convertClassStringToArray(ensureStringExpression((directives.find(i => i.value === 'leave') || {
+ expression: ''
+ }).expression, el, component));
+ const leaveStart = convertClassStringToArray(ensureStringExpression((directives.find(i => i.value === 'leave-start') || {
+ expression: ''
+ }).expression, el, component));
+ const leaveEnd = convertClassStringToArray(ensureStringExpression((directives.find(i => i.value === 'leave-end') || {
+ expression: ''
+ }).expression, el, component));
+ transitionClasses(el, leave, leaveStart, leaveEnd, () => {}, hideCallback, TRANSITION_TYPE_OUT, reject);
+ }
+ function transitionClasses(el, classesDuring, classesStart, classesEnd, hook1, hook2, type, reject) {
+ // clear the previous transition if exists to avoid caching the wrong classes
+ if (el.__x_transition) {
+ el.__x_transition.cancel && el.__x_transition.cancel();
+ }
+
+ const originalClasses = el.__x_original_classes || [];
+ const stages = {
+ start() {
+ el.classList.add(...classesStart);
+ },
+
+ during() {
+ el.classList.add(...classesDuring);
+ },
+
+ show() {
+ hook1();
+ },
+
+ end() {
+ // Don't remove classes that were in the original class attribute.
+ el.classList.remove(...classesStart.filter(i => !originalClasses.includes(i)));
+ el.classList.add(...classesEnd);
+ },
+
+ hide() {
+ hook2();
+ },
+
+ cleanup() {
+ el.classList.remove(...classesDuring.filter(i => !originalClasses.includes(i)));
+ el.classList.remove(...classesEnd.filter(i => !originalClasses.includes(i)));
+ }
+
+ };
+ transition(el, stages, type, reject);
+ }
+ function transition(el, stages, type, reject) {
+ const finish = once(() => {
+ stages.hide(); // Adding an "isConnected" check, in case the callback
+ // removed the element from the DOM.
+
+ if (el.isConnected) {
+ stages.cleanup();
+ }
+
+ delete el.__x_transition;
+ });
+ el.__x_transition = {
+ // Set transition type so we can avoid clearing transition if the direction is the same
+ type: type,
+ // create a callback for the last stages of the transition so we can call it
+ // from different point and early terminate it. Once will ensure that function
+ // is only called one time.
+ cancel: once(() => {
+ reject(TRANSITION_CANCELLED);
+ finish();
+ }),
+ finish,
+ // This store the next animation frame so we can cancel it
+ nextFrame: null
+ };
+ stages.start();
+ stages.during();
+ el.__x_transition.nextFrame = requestAnimationFrame(() => {
+ // Note: Safari's transitionDuration property will list out comma separated transition durations
+ // for every single transition property. Let's grab the first one and call it a day.
+ let duration = Number(getComputedStyle(el).transitionDuration.replace(/,.*/, '').replace('s', '')) * 1000;
+
+ if (duration === 0) {
+ duration = Number(getComputedStyle(el).animationDuration.replace('s', '')) * 1000;
+ }
+
+ stages.show();
+ el.__x_transition.nextFrame = requestAnimationFrame(() => {
+ stages.end();
+ setTimeout(el.__x_transition.finish, duration);
+ });
+ });
+ }
+ function isNumeric(subject) {
+ return !Array.isArray(subject) && !isNaN(subject);
+ } // Thanks @vuejs
+ // https://github.com/vuejs/vue/blob/4de4649d9637262a9b007720b59f80ac72a5620c/src/shared/util.js
+
+ function once(callback) {
+ let called = false;
+ return function () {
+ if (!called) {
+ called = true;
+ callback.apply(this, arguments);
+ }
+ };
+ }
+
+ function handleForDirective(component, templateEl, expression, initialUpdate, extraVars) {
+ warnIfMalformedTemplate(templateEl, 'x-for');
+ let iteratorNames = typeof expression === 'function' ? parseForExpression(component.evaluateReturnExpression(templateEl, expression)) : parseForExpression(expression);
+ let items = evaluateItemsAndReturnEmptyIfXIfIsPresentAndFalseOnElement(component, templateEl, iteratorNames, extraVars); // As we walk the array, we'll also walk the DOM (updating/creating as we go).
+
+ let currentEl = templateEl;
+ items.forEach((item, index) => {
+ let iterationScopeVariables = getIterationScopeVariables(iteratorNames, item, index, items, extraVars());
+ let currentKey = generateKeyForIteration(component, templateEl, index, iterationScopeVariables);
+ let nextEl = lookAheadForMatchingKeyedElementAndMoveItIfFound(currentEl.nextElementSibling, currentKey); // If we haven't found a matching key, insert the element at the current position.
+
+ if (!nextEl) {
+ nextEl = addElementInLoopAfterCurrentEl(templateEl, currentEl); // And transition it in if it's not the first page load.
+
+ transitionIn(nextEl, () => {}, () => {}, component, initialUpdate);
+ nextEl.__x_for = iterationScopeVariables;
+ component.initializeElements(nextEl, () => nextEl.__x_for); // Otherwise update the element we found.
+ } else {
+ // Temporarily remove the key indicator to allow the normal "updateElements" to work.
+ delete nextEl.__x_for_key;
+ nextEl.__x_for = iterationScopeVariables;
+ component.updateElements(nextEl, () => nextEl.__x_for);
+ }
+
+ currentEl = nextEl;
+ currentEl.__x_for_key = currentKey;
+ });
+ removeAnyLeftOverElementsFromPreviousUpdate(currentEl, component);
+ } // This was taken from VueJS 2.* core. Thanks Vue!
+
+ function parseForExpression(expression) {
+ let forIteratorRE = /,([^,\}\]]*)(?:,([^,\}\]]*))?$/;
+ let stripParensRE = /^\(|\)$/g;
+ let forAliasRE = /([\s\S]*?)\s+(?:in|of)\s+([\s\S]*)/;
+ let inMatch = expression.match(forAliasRE);
+ if (!inMatch) return;
+ let res = {};
+ res.items = inMatch[2].trim();
+ let item = inMatch[1].trim().replace(stripParensRE, '');
+ let iteratorMatch = item.match(forIteratorRE);
+
+ if (iteratorMatch) {
+ res.item = item.replace(forIteratorRE, '').trim();
+ res.index = iteratorMatch[1].trim();
+
+ if (iteratorMatch[2]) {
+ res.collection = iteratorMatch[2].trim();
+ }
+ } else {
+ res.item = item;
+ }
+
+ return res;
+ }
+
+ function getIterationScopeVariables(iteratorNames, item, index, items, extraVars) {
+ // We must create a new object, so each iteration has a new scope
+ let scopeVariables = extraVars ? _objectSpread2({}, extraVars) : {};
+ scopeVariables[iteratorNames.item] = item;
+ if (iteratorNames.index) scopeVariables[iteratorNames.index] = index;
+ if (iteratorNames.collection) scopeVariables[iteratorNames.collection] = items;
+ return scopeVariables;
+ }
+
+ function generateKeyForIteration(component, el, index, iterationScopeVariables) {
+ let bindKeyAttribute = getXAttrs(el, component, 'bind').filter(attr => attr.value === 'key')[0]; // If the dev hasn't specified a key, just return the index of the iteration.
+
+ if (!bindKeyAttribute) return index;
+ return component.evaluateReturnExpression(el, bindKeyAttribute.expression, () => iterationScopeVariables);
+ }
+
+ function evaluateItemsAndReturnEmptyIfXIfIsPresentAndFalseOnElement(component, el, iteratorNames, extraVars) {
+ let ifAttribute = getXAttrs(el, component, 'if')[0];
+
+ if (ifAttribute && !component.evaluateReturnExpression(el, ifAttribute.expression)) {
+ return [];
+ }
+
+ let items = component.evaluateReturnExpression(el, iteratorNames.items, extraVars); // This adds support for the `i in n` syntax.
+
+ if (isNumeric(items) && items > 0) {
+ items = Array.from(Array(items).keys(), i => i + 1);
+ }
+
+ return items;
+ }
+
+ function addElementInLoopAfterCurrentEl(templateEl, currentEl) {
+ let clone = document.importNode(templateEl.content, true);
+ currentEl.parentElement.insertBefore(clone, currentEl.nextElementSibling);
+ return currentEl.nextElementSibling;
+ }
+
+ function lookAheadForMatchingKeyedElementAndMoveItIfFound(nextEl, currentKey) {
+ if (!nextEl) return; // If we are already past the x-for generated elements, we don't need to look ahead.
+
+ if (nextEl.__x_for_key === undefined) return; // If the the key's DO match, no need to look ahead.
+
+ if (nextEl.__x_for_key === currentKey) return nextEl; // If they don't, we'll look ahead for a match.
+ // If we find it, we'll move it to the current position in the loop.
+
+ let tmpNextEl = nextEl;
+
+ while (tmpNextEl) {
+ if (tmpNextEl.__x_for_key === currentKey) {
+ return tmpNextEl.parentElement.insertBefore(tmpNextEl, nextEl);
+ }
+
+ tmpNextEl = tmpNextEl.nextElementSibling && tmpNextEl.nextElementSibling.__x_for_key !== undefined ? tmpNextEl.nextElementSibling : false;
+ }
+ }
+
+ function removeAnyLeftOverElementsFromPreviousUpdate(currentEl, component) {
+ var nextElementFromOldLoop = currentEl.nextElementSibling && currentEl.nextElementSibling.__x_for_key !== undefined ? currentEl.nextElementSibling : false;
+
+ while (nextElementFromOldLoop) {
+ let nextElementFromOldLoopImmutable = nextElementFromOldLoop;
+ let nextSibling = nextElementFromOldLoop.nextElementSibling;
+ transitionOut(nextElementFromOldLoop, () => {
+ nextElementFromOldLoopImmutable.remove();
+ }, () => {}, component);
+ nextElementFromOldLoop = nextSibling && nextSibling.__x_for_key !== undefined ? nextSibling : false;
+ }
+ }
+
+ function handleAttributeBindingDirective(component, el, attrName, expression, extraVars, attrType, modifiers) {
+ var value = component.evaluateReturnExpression(el, expression, extraVars);
+
+ if (attrName === 'value') {
+ if (Alpine.ignoreFocusedForValueBinding && document.activeElement.isSameNode(el)) return; // If nested model key is undefined, set the default value to empty string.
+
+ if (value === undefined && expression.match(/\./)) {
+ value = '';
+ }
+
+ if (el.type === 'radio') {
+ // Set radio value from x-bind:value, if no "value" attribute exists.
+ // If there are any initial state values, radio will have a correct
+ // "checked" value since x-bind:value is processed before x-model.
+ if (el.attributes.value === undefined && attrType === 'bind') {
+ el.value = value;
+ } else if (attrType !== 'bind') {
+ el.checked = checkedAttrLooseCompare(el.value, value);
+ }
+ } else if (el.type === 'checkbox') {
+ // If we are explicitly binding a string to the :value, set the string,
+ // If the value is a boolean, leave it alone, it will be set to "on"
+ // automatically.
+ if (typeof value !== 'boolean' && ![null, undefined].includes(value) && attrType === 'bind') {
+ el.value = String(value);
+ } else if (attrType !== 'bind') {
+ if (Array.isArray(value)) {
+ // I'm purposely not using Array.includes here because it's
+ // strict, and because of Numeric/String mis-casting, I
+ // want the "includes" to be "fuzzy".
+ el.checked = value.some(val => checkedAttrLooseCompare(val, el.value));
+ } else {
+ el.checked = !!value;
+ }
+ }
+ } else if (el.tagName === 'SELECT') {
+ updateSelect(el, value);
+ } else {
+ if (el.value === value) return;
+ el.value = value;
+ }
+ } else if (attrName === 'class') {
+ if (Array.isArray(value)) {
+ const originalClasses = el.__x_original_classes || [];
+ el.setAttribute('class', arrayUnique(originalClasses.concat(value)).join(' '));
+ } else if (typeof value === 'object') {
+ // Sorting the keys / class names by their boolean value will ensure that
+ // anything that evaluates to `false` and needs to remove classes is run first.
+ const keysSortedByBooleanValue = Object.keys(value).sort((a, b) => value[a] - value[b]);
+ keysSortedByBooleanValue.forEach(classNames => {
+ if (value[classNames]) {
+ convertClassStringToArray(classNames).forEach(className => el.classList.add(className));
+ } else {
+ convertClassStringToArray(classNames).forEach(className => el.classList.remove(className));
+ }
+ });
+ } else {
+ const originalClasses = el.__x_original_classes || [];
+ const newClasses = value ? convertClassStringToArray(value) : [];
+ el.setAttribute('class', arrayUnique(originalClasses.concat(newClasses)).join(' '));
+ }
+ } else {
+ attrName = modifiers.includes('camel') ? camelCase(attrName) : attrName; // If an attribute's bound value is null, undefined or false, remove the attribute
+
+ if ([null, undefined, false].includes(value)) {
+ el.removeAttribute(attrName);
+ } else {
+ isBooleanAttr(attrName) ? setIfChanged(el, attrName, attrName) : setIfChanged(el, attrName, value);
+ }
+ }
+ }
+
+ function setIfChanged(el, attrName, value) {
+ if (el.getAttribute(attrName) != value) {
+ el.setAttribute(attrName, value);
+ }
+ }
+
+ function updateSelect(el, value) {
+ const arrayWrappedValue = [].concat(value).map(value => {
+ return value + '';
+ });
+ Array.from(el.options).forEach(option => {
+ option.selected = arrayWrappedValue.includes(option.value || option.text);
+ });
+ }
+
+ function handleTextDirective(el, output, expression) {
+ // If nested model key is undefined, set the default value to empty string.
+ if (output === undefined && expression.match(/\./)) {
+ output = '';
+ }
+
+ el.textContent = output;
+ }
+
+ function handleHtmlDirective(component, el, expression, extraVars) {
+ el.innerHTML = component.evaluateReturnExpression(el, expression, extraVars);
+ }
+
+ function handleShowDirective(component, el, value, modifiers, initialUpdate = false) {
+ const hide = () => {
+ el.style.display = 'none';
+ el.__x_is_shown = false;
+ };
+
+ const show = () => {
+ if (el.style.length === 1 && el.style.display === 'none') {
+ el.removeAttribute('style');
+ } else {
+ el.style.removeProperty('display');
+ }
+
+ el.__x_is_shown = true;
+ };
+
+ if (initialUpdate === true) {
+ if (value) {
+ show();
+ } else {
+ hide();
+ }
+
+ return;
+ }
+
+ const handle = (resolve, reject) => {
+ if (value) {
+ if (el.style.display === 'none' || el.__x_transition) {
+ transitionIn(el, () => {
+ show();
+ }, reject, component);
+ }
+
+ resolve(() => {});
+ } else {
+ if (el.style.display !== 'none') {
+ transitionOut(el, () => {
+ resolve(() => {
+ hide();
+ });
+ }, reject, component);
+ } else {
+ resolve(() => {});
+ }
+ }
+ }; // The working of x-show is a bit complex because we need to
+ // wait for any child transitions to finish before hiding
+ // some element. Also, this has to be done recursively.
+ // If x-show.immediate, foregoe the waiting.
+
+
+ if (modifiers.includes('immediate')) {
+ handle(finish => finish(), () => {});
+ return;
+ } // x-show is encountered during a DOM tree walk. If an element
+ // we encounter is NOT a child of another x-show element we
+ // can execute the previous x-show stack (if one exists).
+
+
+ if (component.showDirectiveLastElement && !component.showDirectiveLastElement.contains(el)) {
+ component.executeAndClearRemainingShowDirectiveStack();
+ }
+
+ component.showDirectiveStack.push(handle);
+ component.showDirectiveLastElement = el;
+ }
+
+ function handleIfDirective(component, el, expressionResult, initialUpdate, extraVars) {
+ warnIfMalformedTemplate(el, 'x-if');
+ const elementHasAlreadyBeenAdded = el.nextElementSibling && el.nextElementSibling.__x_inserted_me === true;
+
+ if (expressionResult && (!elementHasAlreadyBeenAdded || el.__x_transition)) {
+ const clone = document.importNode(el.content, true);
+ el.parentElement.insertBefore(clone, el.nextElementSibling);
+ transitionIn(el.nextElementSibling, () => {}, () => {}, component, initialUpdate);
+ component.initializeElements(el.nextElementSibling, extraVars);
+ el.nextElementSibling.__x_inserted_me = true;
+ } else if (!expressionResult && elementHasAlreadyBeenAdded) {
+ transitionOut(el.nextElementSibling, () => {
+ el.nextElementSibling.remove();
+ }, () => {}, component, initialUpdate);
+ }
+ }
+
+ function registerListener(component, el, event, modifiers, expression, extraVars = {}) {
+ const options = {
+ passive: modifiers.includes('passive')
+ };
+
+ if (modifiers.includes('camel')) {
+ event = camelCase(event);
+ }
+
+ if (modifiers.includes('away')) {
+ let handler = e => {
+ // Don't do anything if the click came from the element or within it.
+ if (el.contains(e.target)) return; // Don't do anything if this element isn't currently visible.
+
+ if (el.offsetWidth < 1 && el.offsetHeight < 1) return; // Now that we are sure the element is visible, AND the click
+ // is from outside it, let's run the expression.
+
+ runListenerHandler(component, expression, e, extraVars);
+
+ if (modifiers.includes('once')) {
+ document.removeEventListener(event, handler, options);
+ }
+ }; // Listen for this event at the root level.
+
+
+ document.addEventListener(event, handler, options);
+ } else {
+ let listenerTarget = modifiers.includes('window') ? window : modifiers.includes('document') ? document : el;
+
+ let handler = e => {
+ // Remove this global event handler if the element that declared it
+ // has been removed. It's now stale.
+ if (listenerTarget === window || listenerTarget === document) {
+ if (!document.body.contains(el)) {
+ listenerTarget.removeEventListener(event, handler, options);
+ return;
+ }
+ }
+
+ if (isKeyEvent(event)) {
+ if (isListeningForASpecificKeyThatHasntBeenPressed(e, modifiers)) {
+ return;
+ }
+ }
+
+ if (modifiers.includes('prevent')) e.preventDefault();
+ if (modifiers.includes('stop')) e.stopPropagation(); // If the .self modifier isn't present, or if it is present and
+ // the target element matches the element we are registering the
+ // event on, run the handler
+
+ if (!modifiers.includes('self') || e.target === el) {
+ const returnValue = runListenerHandler(component, expression, e, extraVars);
+ returnValue.then(value => {
+ if (value === false) {
+ e.preventDefault();
+ } else {
+ if (modifiers.includes('once')) {
+ listenerTarget.removeEventListener(event, handler, options);
+ }
+ }
+ });
+ }
+ };
+
+ if (modifiers.includes('debounce')) {
+ let nextModifier = modifiers[modifiers.indexOf('debounce') + 1] || 'invalid-wait';
+ let wait = isNumeric(nextModifier.split('ms')[0]) ? Number(nextModifier.split('ms')[0]) : 250;
+ handler = debounce(handler, wait);
+ }
+
+ listenerTarget.addEventListener(event, handler, options);
+ }
+ }
+
+ function runListenerHandler(component, expression, e, extraVars) {
+ return component.evaluateCommandExpression(e.target, expression, () => {
+ return _objectSpread2(_objectSpread2({}, extraVars()), {}, {
+ '$event': e
+ });
+ });
+ }
+
+ function isKeyEvent(event) {
+ return ['keydown', 'keyup'].includes(event);
+ }
+
+ function isListeningForASpecificKeyThatHasntBeenPressed(e, modifiers) {
+ let keyModifiers = modifiers.filter(i => {
+ return !['window', 'document', 'prevent', 'stop'].includes(i);
+ });
+
+ if (keyModifiers.includes('debounce')) {
+ let debounceIndex = keyModifiers.indexOf('debounce');
+ keyModifiers.splice(debounceIndex, isNumeric((keyModifiers[debounceIndex + 1] || 'invalid-wait').split('ms')[0]) ? 2 : 1);
+ } // If no modifier is specified, we'll call it a press.
+
+
+ if (keyModifiers.length === 0) return false; // If one is passed, AND it matches the key pressed, we'll call it a press.
+
+ if (keyModifiers.length === 1 && keyModifiers[0] === keyToModifier(e.key)) return false; // The user is listening for key combinations.
+
+ const systemKeyModifiers = ['ctrl', 'shift', 'alt', 'meta', 'cmd', 'super'];
+ const selectedSystemKeyModifiers = systemKeyModifiers.filter(modifier => keyModifiers.includes(modifier));
+ keyModifiers = keyModifiers.filter(i => !selectedSystemKeyModifiers.includes(i));
+
+ if (selectedSystemKeyModifiers.length > 0) {
+ const activelyPressedKeyModifiers = selectedSystemKeyModifiers.filter(modifier => {
+ // Alias "cmd" and "super" to "meta"
+ if (modifier === 'cmd' || modifier === 'super') modifier = 'meta';
+ return e[`${modifier}Key`];
+ }); // If all the modifiers selected are pressed, ...
+
+ if (activelyPressedKeyModifiers.length === selectedSystemKeyModifiers.length) {
+ // AND the remaining key is pressed as well. It's a press.
+ if (keyModifiers[0] === keyToModifier(e.key)) return false;
+ }
+ } // We'll call it NOT a valid keypress.
+
+
+ return true;
+ }
+
+ function keyToModifier(key) {
+ switch (key) {
+ case '/':
+ return 'slash';
+
+ case ' ':
+ case 'Spacebar':
+ return 'space';
+
+ default:
+ return key && kebabCase(key);
+ }
+ }
+
+ function registerModelListener(component, el, modifiers, expression, extraVars) {
+ // If the element we are binding to is a select, a radio, or checkbox
+ // we'll listen for the change event instead of the "input" event.
+ var event = el.tagName.toLowerCase() === 'select' || ['checkbox', 'radio'].includes(el.type) || modifiers.includes('lazy') ? 'change' : 'input';
+ const listenerExpression = `${expression} = rightSideOfExpression($event, ${expression})`;
+ registerListener(component, el, event, modifiers, listenerExpression, () => {
+ return _objectSpread2(_objectSpread2({}, extraVars()), {}, {
+ rightSideOfExpression: generateModelAssignmentFunction(el, modifiers, expression)
+ });
+ });
+ }
+
+ function generateModelAssignmentFunction(el, modifiers, expression) {
+ if (el.type === 'radio') {
+ // Radio buttons only work properly when they share a name attribute.
+ // People might assume we take care of that for them, because
+ // they already set a shared "x-model" attribute.
+ if (!el.hasAttribute('name')) el.setAttribute('name', expression);
+ }
+
+ return (event, currentValue) => {
+ // Check for event.detail due to an issue where IE11 handles other events as a CustomEvent.
+ if (event instanceof CustomEvent && event.detail) {
+ return event.detail;
+ } else if (el.type === 'checkbox') {
+ // If the data we are binding to is an array, toggle its value inside the array.
+ if (Array.isArray(currentValue)) {
+ const newValue = modifiers.includes('number') ? safeParseNumber(event.target.value) : event.target.value;
+ return event.target.checked ? currentValue.concat([newValue]) : currentValue.filter(el => !checkedAttrLooseCompare(el, newValue));
+ } else {
+ return event.target.checked;
+ }
+ } else if (el.tagName.toLowerCase() === 'select' && el.multiple) {
+ return modifiers.includes('number') ? Array.from(event.target.selectedOptions).map(option => {
+ const rawValue = option.value || option.text;
+ return safeParseNumber(rawValue);
+ }) : Array.from(event.target.selectedOptions).map(option => {
+ return option.value || option.text;
+ });
+ } else {
+ const rawValue = event.target.value;
+ return modifiers.includes('number') ? safeParseNumber(rawValue) : modifiers.includes('trim') ? rawValue.trim() : rawValue;
+ }
+ };
+ }
+
+ function safeParseNumber(rawValue) {
+ const number = rawValue ? parseFloat(rawValue) : null;
+ return isNumeric(number) ? number : rawValue;
+ }
+
+ /**
+ * Copyright (C) 2017 salesforce.com, inc.
+ */
+ const { isArray } = Array;
+ const { getPrototypeOf, create: ObjectCreate, defineProperty: ObjectDefineProperty, defineProperties: ObjectDefineProperties, isExtensible, getOwnPropertyDescriptor, getOwnPropertyNames, getOwnPropertySymbols, preventExtensions, hasOwnProperty, } = Object;
+ const { push: ArrayPush, concat: ArrayConcat, map: ArrayMap, } = Array.prototype;
+ function isUndefined(obj) {
+ return obj === undefined;
+ }
+ function isFunction(obj) {
+ return typeof obj === 'function';
+ }
+ function isObject(obj) {
+ return typeof obj === 'object';
+ }
+ const proxyToValueMap = new WeakMap();
+ function registerProxy(proxy, value) {
+ proxyToValueMap.set(proxy, value);
+ }
+ const unwrap = (replicaOrAny) => proxyToValueMap.get(replicaOrAny) || replicaOrAny;
+
+ function wrapValue(membrane, value) {
+ return membrane.valueIsObservable(value) ? membrane.getProxy(value) : value;
+ }
+ /**
+ * Unwrap property descriptors will set value on original descriptor
+ * We only need to unwrap if value is specified
+ * @param descriptor external descrpitor provided to define new property on original value
+ */
+ function unwrapDescriptor(descriptor) {
+ if (hasOwnProperty.call(descriptor, 'value')) {
+ descriptor.value = unwrap(descriptor.value);
+ }
+ return descriptor;
+ }
+ function lockShadowTarget(membrane, shadowTarget, originalTarget) {
+ const targetKeys = ArrayConcat.call(getOwnPropertyNames(originalTarget), getOwnPropertySymbols(originalTarget));
+ targetKeys.forEach((key) => {
+ let descriptor = getOwnPropertyDescriptor(originalTarget, key);
+ // We do not need to wrap the descriptor if configurable
+ // Because we can deal with wrapping it when user goes through
+ // Get own property descriptor. There is also a chance that this descriptor
+ // could change sometime in the future, so we can defer wrapping
+ // until we need to
+ if (!descriptor.configurable) {
+ descriptor = wrapDescriptor(membrane, descriptor, wrapValue);
+ }
+ ObjectDefineProperty(shadowTarget, key, descriptor);
+ });
+ preventExtensions(shadowTarget);
+ }
+ class ReactiveProxyHandler {
+ constructor(membrane, value) {
+ this.originalTarget = value;
+ this.membrane = membrane;
+ }
+ get(shadowTarget, key) {
+ const { originalTarget, membrane } = this;
+ const value = originalTarget[key];
+ const { valueObserved } = membrane;
+ valueObserved(originalTarget, key);
+ return membrane.getProxy(value);
+ }
+ set(shadowTarget, key, value) {
+ const { originalTarget, membrane: { valueMutated } } = this;
+ const oldValue = originalTarget[key];
+ if (oldValue !== value) {
+ originalTarget[key] = value;
+ valueMutated(originalTarget, key);
+ }
+ else if (key === 'length' && isArray(originalTarget)) {
+ // fix for issue #236: push will add the new index, and by the time length
+ // is updated, the internal length is already equal to the new length value
+ // therefore, the oldValue is equal to the value. This is the forking logic
+ // to support this use case.
+ valueMutated(originalTarget, key);
+ }
+ return true;
+ }
+ deleteProperty(shadowTarget, key) {
+ const { originalTarget, membrane: { valueMutated } } = this;
+ delete originalTarget[key];
+ valueMutated(originalTarget, key);
+ return true;
+ }
+ apply(shadowTarget, thisArg, argArray) {
+ /* No op */
+ }
+ construct(target, argArray, newTarget) {
+ /* No op */
+ }
+ has(shadowTarget, key) {
+ const { originalTarget, membrane: { valueObserved } } = this;
+ valueObserved(originalTarget, key);
+ return key in originalTarget;
+ }
+ ownKeys(shadowTarget) {
+ const { originalTarget } = this;
+ return ArrayConcat.call(getOwnPropertyNames(originalTarget), getOwnPropertySymbols(originalTarget));
+ }
+ isExtensible(shadowTarget) {
+ const shadowIsExtensible = isExtensible(shadowTarget);
+ if (!shadowIsExtensible) {
+ return shadowIsExtensible;
+ }
+ const { originalTarget, membrane } = this;
+ const targetIsExtensible = isExtensible(originalTarget);
+ if (!targetIsExtensible) {
+ lockShadowTarget(membrane, shadowTarget, originalTarget);
+ }
+ return targetIsExtensible;
+ }
+ setPrototypeOf(shadowTarget, prototype) {
+ }
+ getPrototypeOf(shadowTarget) {
+ const { originalTarget } = this;
+ return getPrototypeOf(originalTarget);
+ }
+ getOwnPropertyDescriptor(shadowTarget, key) {
+ const { originalTarget, membrane } = this;
+ const { valueObserved } = this.membrane;
+ // keys looked up via hasOwnProperty need to be reactive
+ valueObserved(originalTarget, key);
+ let desc = getOwnPropertyDescriptor(originalTarget, key);
+ if (isUndefined(desc)) {
+ return desc;
+ }
+ const shadowDescriptor = getOwnPropertyDescriptor(shadowTarget, key);
+ if (!isUndefined(shadowDescriptor)) {
+ return shadowDescriptor;
+ }
+ // Note: by accessing the descriptor, the key is marked as observed
+ // but access to the value, setter or getter (if available) cannot observe
+ // mutations, just like regular methods, in which case we just do nothing.
+ desc = wrapDescriptor(membrane, desc, wrapValue);
+ if (!desc.configurable) {
+ // If descriptor from original target is not configurable,
+ // We must copy the wrapped descriptor over to the shadow target.
+ // Otherwise, proxy will throw an invariant error.
+ // This is our last chance to lock the value.
+ // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Proxy/handler/getOwnPropertyDescriptor#Invariants
+ ObjectDefineProperty(shadowTarget, key, desc);
+ }
+ return desc;
+ }
+ preventExtensions(shadowTarget) {
+ const { originalTarget, membrane } = this;
+ lockShadowTarget(membrane, shadowTarget, originalTarget);
+ preventExtensions(originalTarget);
+ return true;
+ }
+ defineProperty(shadowTarget, key, descriptor) {
+ const { originalTarget, membrane } = this;
+ const { valueMutated } = membrane;
+ const { configurable } = descriptor;
+ // We have to check for value in descriptor
+ // because Object.freeze(proxy) calls this method
+ // with only { configurable: false, writeable: false }
+ // Additionally, method will only be called with writeable:false
+ // if the descriptor has a value, as opposed to getter/setter
+ // So we can just check if writable is present and then see if
+ // value is present. This eliminates getter and setter descriptors
+ if (hasOwnProperty.call(descriptor, 'writable') && !hasOwnProperty.call(descriptor, 'value')) {
+ const originalDescriptor = getOwnPropertyDescriptor(originalTarget, key);
+ descriptor.value = originalDescriptor.value;
+ }
+ ObjectDefineProperty(originalTarget, key, unwrapDescriptor(descriptor));
+ if (configurable === false) {
+ ObjectDefineProperty(shadowTarget, key, wrapDescriptor(membrane, descriptor, wrapValue));
+ }
+ valueMutated(originalTarget, key);
+ return true;
+ }
+ }
+
+ function wrapReadOnlyValue(membrane, value) {
+ return membrane.valueIsObservable(value) ? membrane.getReadOnlyProxy(value) : value;
+ }
+ class ReadOnlyHandler {
+ constructor(membrane, value) {
+ this.originalTarget = value;
+ this.membrane = membrane;
+ }
+ get(shadowTarget, key) {
+ const { membrane, originalTarget } = this;
+ const value = originalTarget[key];
+ const { valueObserved } = membrane;
+ valueObserved(originalTarget, key);
+ return membrane.getReadOnlyProxy(value);
+ }
+ set(shadowTarget, key, value) {
+ return false;
+ }
+ deleteProperty(shadowTarget, key) {
+ return false;
+ }
+ apply(shadowTarget, thisArg, argArray) {
+ /* No op */
+ }
+ construct(target, argArray, newTarget) {
+ /* No op */
+ }
+ has(shadowTarget, key) {
+ const { originalTarget, membrane: { valueObserved } } = this;
+ valueObserved(originalTarget, key);
+ return key in originalTarget;
+ }
+ ownKeys(shadowTarget) {
+ const { originalTarget } = this;
+ return ArrayConcat.call(getOwnPropertyNames(originalTarget), getOwnPropertySymbols(originalTarget));
+ }
+ setPrototypeOf(shadowTarget, prototype) {
+ }
+ getOwnPropertyDescriptor(shadowTarget, key) {
+ const { originalTarget, membrane } = this;
+ const { valueObserved } = membrane;
+ // keys looked up via hasOwnProperty need to be reactive
+ valueObserved(originalTarget, key);
+ let desc = getOwnPropertyDescriptor(originalTarget, key);
+ if (isUndefined(desc)) {
+ return desc;
+ }
+ const shadowDescriptor = getOwnPropertyDescriptor(shadowTarget, key);
+ if (!isUndefined(shadowDescriptor)) {
+ return shadowDescriptor;
+ }
+ // Note: by accessing the descriptor, the key is marked as observed
+ // but access to the value or getter (if available) cannot be observed,
+ // just like regular methods, in which case we just do nothing.
+ desc = wrapDescriptor(membrane, desc, wrapReadOnlyValue);
+ if (hasOwnProperty.call(desc, 'set')) {
+ desc.set = undefined; // readOnly membrane does not allow setters
+ }
+ if (!desc.configurable) {
+ // If descriptor from original target is not configurable,
+ // We must copy the wrapped descriptor over to the shadow target.
+ // Otherwise, proxy will throw an invariant error.
+ // This is our last chance to lock the value.
+ // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Proxy/handler/getOwnPropertyDescriptor#Invariants
+ ObjectDefineProperty(shadowTarget, key, desc);
+ }
+ return desc;
+ }
+ preventExtensions(shadowTarget) {
+ return false;
+ }
+ defineProperty(shadowTarget, key, descriptor) {
+ return false;
+ }
+ }
+ function createShadowTarget(value) {
+ let shadowTarget = undefined;
+ if (isArray(value)) {
+ shadowTarget = [];
+ }
+ else if (isObject(value)) {
+ shadowTarget = {};
+ }
+ return shadowTarget;
+ }
+ const ObjectDotPrototype = Object.prototype;
+ function defaultValueIsObservable(value) {
+ // intentionally checking for null
+ if (value === null) {
+ return false;
+ }
+ // treat all non-object types, including undefined, as non-observable values
+ if (typeof value !== 'object') {
+ return false;
+ }
+ if (isArray(value)) {
+ return true;
+ }
+ const proto = getPrototypeOf(value);
+ return (proto === ObjectDotPrototype || proto === null || getPrototypeOf(proto) === null);
+ }
+ const defaultValueObserved = (obj, key) => {
+ /* do nothing */
+ };
+ const defaultValueMutated = (obj, key) => {
+ /* do nothing */
+ };
+ const defaultValueDistortion = (value) => value;
+ function wrapDescriptor(membrane, descriptor, getValue) {
+ const { set, get } = descriptor;
+ if (hasOwnProperty.call(descriptor, 'value')) {
+ descriptor.value = getValue(membrane, descriptor.value);
+ }
+ else {
+ if (!isUndefined(get)) {
+ descriptor.get = function () {
+ // invoking the original getter with the original target
+ return getValue(membrane, get.call(unwrap(this)));
+ };
+ }
+ if (!isUndefined(set)) {
+ descriptor.set = function (value) {
+ // At this point we don't have a clear indication of whether
+ // or not a valid mutation will occur, we don't have the key,
+ // and we are not sure why and how they are invoking this setter.
+ // Nevertheless we preserve the original semantics by invoking the
+ // original setter with the original target and the unwrapped value
+ set.call(unwrap(this), membrane.unwrapProxy(value));
+ };
+ }
+ }
+ return descriptor;
+ }
+ class ReactiveMembrane {
+ constructor(options) {
+ this.valueDistortion = defaultValueDistortion;
+ this.valueMutated = defaultValueMutated;
+ this.valueObserved = defaultValueObserved;
+ this.valueIsObservable = defaultValueIsObservable;
+ this.objectGraph = new WeakMap();
+ if (!isUndefined(options)) {
+ const { valueDistortion, valueMutated, valueObserved, valueIsObservable } = options;
+ this.valueDistortion = isFunction(valueDistortion) ? valueDistortion : defaultValueDistortion;
+ this.valueMutated = isFunction(valueMutated) ? valueMutated : defaultValueMutated;
+ this.valueObserved = isFunction(valueObserved) ? valueObserved : defaultValueObserved;
+ this.valueIsObservable = isFunction(valueIsObservable) ? valueIsObservable : defaultValueIsObservable;
+ }
+ }
+ getProxy(value) {
+ const unwrappedValue = unwrap(value);
+ const distorted = this.valueDistortion(unwrappedValue);
+ if (this.valueIsObservable(distorted)) {
+ const o = this.getReactiveState(unwrappedValue, distorted);
+ // when trying to extract the writable version of a readonly
+ // we return the readonly.
+ return o.readOnly === value ? value : o.reactive;
+ }
+ return distorted;
+ }
+ getReadOnlyProxy(value) {
+ value = unwrap(value);
+ const distorted = this.valueDistortion(value);
+ if (this.valueIsObservable(distorted)) {
+ return this.getReactiveState(value, distorted).readOnly;
+ }
+ return distorted;
+ }
+ unwrapProxy(p) {
+ return unwrap(p);
+ }
+ getReactiveState(value, distortedValue) {
+ const { objectGraph, } = this;
+ let reactiveState = objectGraph.get(distortedValue);
+ if (reactiveState) {
+ return reactiveState;
+ }
+ const membrane = this;
+ reactiveState = {
+ get reactive() {
+ const reactiveHandler = new ReactiveProxyHandler(membrane, distortedValue);
+ // caching the reactive proxy after the first time it is accessed
+ const proxy = new Proxy(createShadowTarget(distortedValue), reactiveHandler);
+ registerProxy(proxy, value);
+ ObjectDefineProperty(this, 'reactive', { value: proxy });
+ return proxy;
+ },
+ get readOnly() {
+ const readOnlyHandler = new ReadOnlyHandler(membrane, distortedValue);
+ // caching the readOnly proxy after the first time it is accessed
+ const proxy = new Proxy(createShadowTarget(distortedValue), readOnlyHandler);
+ registerProxy(proxy, value);
+ ObjectDefineProperty(this, 'readOnly', { value: proxy });
+ return proxy;
+ }
+ };
+ objectGraph.set(distortedValue, reactiveState);
+ return reactiveState;
+ }
+ }
+ /** version: 0.26.0 */
+
+ function wrap(data, mutationCallback) {
+
+ let membrane = new ReactiveMembrane({
+ valueMutated(target, key) {
+ mutationCallback(target, key);
+ }
+
+ });
+ return {
+ data: membrane.getProxy(data),
+ membrane: membrane
+ };
+ }
+ function unwrap$1(membrane, observable) {
+ let unwrappedData = membrane.unwrapProxy(observable);
+ let copy = {};
+ Object.keys(unwrappedData).forEach(key => {
+ if (['$el', '$refs', '$nextTick', '$watch'].includes(key)) return;
+ copy[key] = unwrappedData[key];
+ });
+ return copy;
+ }
+
+ class Component {
+ constructor(el, componentForClone = null) {
+ this.$el = el;
+ const dataAttr = this.$el.getAttribute('x-data');
+ const dataExpression = dataAttr === '' ? '{}' : dataAttr;
+ const initExpression = this.$el.getAttribute('x-init');
+ let dataExtras = {
+ $el: this.$el
+ };
+ let canonicalComponentElementReference = componentForClone ? componentForClone.$el : this.$el;
+ Object.entries(Alpine.magicProperties).forEach(([name, callback]) => {
+ Object.defineProperty(dataExtras, `$${name}`, {
+ get: function get() {
+ return callback(canonicalComponentElementReference);
+ }
+ });
+ });
+ this.unobservedData = componentForClone ? componentForClone.getUnobservedData() : saferEval(el, dataExpression, dataExtras);
+ // Construct a Proxy-based observable. This will be used to handle reactivity.
+
+ let {
+ membrane,
+ data
+ } = this.wrapDataInObservable(this.unobservedData);
+ this.$data = data;
+ this.membrane = membrane; // After making user-supplied data methods reactive, we can now add
+ // our magic properties to the original data for access.
+
+ this.unobservedData.$el = this.$el;
+ this.unobservedData.$refs = this.getRefsProxy();
+ this.nextTickStack = [];
+
+ this.unobservedData.$nextTick = callback => {
+ this.nextTickStack.push(callback);
+ };
+
+ this.watchers = {};
+
+ this.unobservedData.$watch = (property, callback) => {
+ if (!this.watchers[property]) this.watchers[property] = [];
+ this.watchers[property].push(callback);
+ };
+ /* MODERN-ONLY:START */
+ // We remove this piece of code from the legacy build.
+ // In IE11, we have already defined our helpers at this point.
+ // Register custom magic properties.
+
+
+ Object.entries(Alpine.magicProperties).forEach(([name, callback]) => {
+ Object.defineProperty(this.unobservedData, `$${name}`, {
+ get: function get() {
+ return callback(canonicalComponentElementReference, this.$el);
+ }
+ });
+ });
+ /* MODERN-ONLY:END */
+
+ this.showDirectiveStack = [];
+ this.showDirectiveLastElement;
+ componentForClone || Alpine.onBeforeComponentInitializeds.forEach(callback => callback(this));
+ var initReturnedCallback; // If x-init is present AND we aren't cloning (skip x-init on clone)
+
+ if (initExpression && !componentForClone) {
+ // We want to allow data manipulation, but not trigger DOM updates just yet.
+ // We haven't even initialized the elements with their Alpine bindings. I mean c'mon.
+ this.pauseReactivity = true;
+ initReturnedCallback = this.evaluateReturnExpression(this.$el, initExpression);
+ this.pauseReactivity = false;
+ } // Register all our listeners and set all our attribute bindings.
+
+
+ this.initializeElements(this.$el); // Use mutation observer to detect new elements being added within this component at run-time.
+ // Alpine's just so darn flexible amirite?
+
+ this.listenForNewElementsToInitialize();
+
+ if (typeof initReturnedCallback === 'function') {
+ // Run the callback returned from the "x-init" hook to allow the user to do stuff after
+ // Alpine's got it's grubby little paws all over everything.
+ initReturnedCallback.call(this.$data);
+ }
+
+ componentForClone || setTimeout(() => {
+ Alpine.onComponentInitializeds.forEach(callback => callback(this));
+ }, 0);
+ }
+
+ getUnobservedData() {
+ return unwrap$1(this.membrane, this.$data);
+ }
+
+ wrapDataInObservable(data) {
+ var self = this;
+ let updateDom = debounce(function () {
+ self.updateElements(self.$el);
+ }, 0);
+ return wrap(data, (target, key) => {
+ if (self.watchers[key]) {
+ // If there's a watcher for this specific key, run it.
+ self.watchers[key].forEach(callback => callback(target[key]));
+ } else if (Array.isArray(target)) {
+ // Arrays are special cases, if any of the items change, we consider the array as mutated.
+ Object.keys(self.watchers).forEach(fullDotNotationKey => {
+ let dotNotationParts = fullDotNotationKey.split('.'); // Ignore length mutations since they would result in duplicate calls.
+ // For example, when calling push, we would get a mutation for the item's key
+ // and a second mutation for the length property.
+
+ if (key === 'length') return;
+ dotNotationParts.reduce((comparisonData, part) => {
+ if (Object.is(target, comparisonData[part])) {
+ self.watchers[fullDotNotationKey].forEach(callback => callback(target));
+ }
+
+ return comparisonData[part];
+ }, self.unobservedData);
+ });
+ } else {
+ // Let's walk through the watchers with "dot-notation" (foo.bar) and see
+ // if this mutation fits any of them.
+ Object.keys(self.watchers).filter(i => i.includes('.')).forEach(fullDotNotationKey => {
+ let dotNotationParts = fullDotNotationKey.split('.'); // If this dot-notation watcher's last "part" doesn't match the current
+ // key, then skip it early for performance reasons.
+
+ if (key !== dotNotationParts[dotNotationParts.length - 1]) return; // Now, walk through the dot-notation "parts" recursively to find
+ // a match, and call the watcher if one's found.
+
+ dotNotationParts.reduce((comparisonData, part) => {
+ if (Object.is(target, comparisonData)) {
+ // Run the watchers.
+ self.watchers[fullDotNotationKey].forEach(callback => callback(target[key]));
+ }
+
+ return comparisonData[part];
+ }, self.unobservedData);
+ });
+ } // Don't react to data changes for cases like the `x-created` hook.
+
+
+ if (self.pauseReactivity) return;
+ updateDom();
+ });
+ }
+
+ walkAndSkipNestedComponents(el, callback, initializeComponentCallback = () => {}) {
+ walk(el, el => {
+ // We've hit a component.
+ if (el.hasAttribute('x-data')) {
+ // If it's not the current one.
+ if (!el.isSameNode(this.$el)) {
+ // Initialize it if it's not.
+ if (!el.__x) initializeComponentCallback(el); // Now we'll let that sub-component deal with itself.
+
+ return false;
+ }
+ }
+
+ return callback(el);
+ });
+ }
+
+ initializeElements(rootEl, extraVars = () => {}) {
+ this.walkAndSkipNestedComponents(rootEl, el => {
+ // Don't touch spawns from for loop
+ if (el.__x_for_key !== undefined) return false; // Don't touch spawns from if directives
+
+ if (el.__x_inserted_me !== undefined) return false;
+ this.initializeElement(el, extraVars);
+ }, el => {
+ el.__x = new Component(el);
+ });
+ this.executeAndClearRemainingShowDirectiveStack();
+ this.executeAndClearNextTickStack(rootEl);
+ }
+
+ initializeElement(el, extraVars) {
+ // To support class attribute merging, we have to know what the element's
+ // original class attribute looked like for reference.
+ if (el.hasAttribute('class') && getXAttrs(el, this).length > 0) {
+ el.__x_original_classes = convertClassStringToArray(el.getAttribute('class'));
+ }
+
+ this.registerListeners(el, extraVars);
+ this.resolveBoundAttributes(el, true, extraVars);
+ }
+
+ updateElements(rootEl, extraVars = () => {}) {
+ this.walkAndSkipNestedComponents(rootEl, el => {
+ // Don't touch spawns from for loop (and check if the root is actually a for loop in a parent, don't skip it.)
+ if (el.__x_for_key !== undefined && !el.isSameNode(this.$el)) return false;
+ this.updateElement(el, extraVars);
+ }, el => {
+ el.__x = new Component(el);
+ });
+ this.executeAndClearRemainingShowDirectiveStack();
+ this.executeAndClearNextTickStack(rootEl);
+ }
+
+ executeAndClearNextTickStack(el) {
+ // Skip spawns from alpine directives
+ if (el === this.$el && this.nextTickStack.length > 0) {
+ // We run the tick stack after the next frame to allow any
+ // running transitions to pass the initial show stage.
+ requestAnimationFrame(() => {
+ while (this.nextTickStack.length > 0) {
+ this.nextTickStack.shift()();
+ }
+ });
+ }
+ }
+
+ executeAndClearRemainingShowDirectiveStack() {
+ // The goal here is to start all the x-show transitions
+ // and build a nested promise chain so that elements
+ // only hide when the children are finished hiding.
+ this.showDirectiveStack.reverse().map(handler => {
+ return new Promise((resolve, reject) => {
+ handler(resolve, reject);
+ });
+ }).reduce((promiseChain, promise) => {
+ return promiseChain.then(() => {
+ return promise.then(finishElement => {
+ finishElement();
+ });
+ });
+ }, Promise.resolve(() => {})).catch(e => {
+ if (e !== TRANSITION_CANCELLED) throw e;
+ }); // We've processed the handler stack. let's clear it.
+
+ this.showDirectiveStack = [];
+ this.showDirectiveLastElement = undefined;
+ }
+
+ updateElement(el, extraVars) {
+ this.resolveBoundAttributes(el, false, extraVars);
+ }
+
+ registerListeners(el, extraVars) {
+ getXAttrs(el, this).forEach(({
+ type,
+ value,
+ modifiers,
+ expression
+ }) => {
+ switch (type) {
+ case 'on':
+ registerListener(this, el, value, modifiers, expression, extraVars);
+ break;
+
+ case 'model':
+ registerModelListener(this, el, modifiers, expression, extraVars);
+ break;
+ }
+ });
+ }
+
+ resolveBoundAttributes(el, initialUpdate = false, extraVars) {
+ let attrs = getXAttrs(el, this);
+ attrs.forEach(({
+ type,
+ value,
+ modifiers,
+ expression
+ }) => {
+ switch (type) {
+ case 'model':
+ handleAttributeBindingDirective(this, el, 'value', expression, extraVars, type, modifiers);
+ break;
+
+ case 'bind':
+ // The :key binding on an x-for is special, ignore it.
+ if (el.tagName.toLowerCase() === 'template' && value === 'key') return;
+ handleAttributeBindingDirective(this, el, value, expression, extraVars, type, modifiers);
+ break;
+
+ case 'text':
+ var output = this.evaluateReturnExpression(el, expression, extraVars);
+ handleTextDirective(el, output, expression);
+ break;
+
+ case 'html':
+ handleHtmlDirective(this, el, expression, extraVars);
+ break;
+
+ case 'show':
+ var output = this.evaluateReturnExpression(el, expression, extraVars);
+ handleShowDirective(this, el, output, modifiers, initialUpdate);
+ break;
+
+ case 'if':
+ // If this element also has x-for on it, don't process x-if.
+ // We will let the "x-for" directive handle the "if"ing.
+ if (attrs.some(i => i.type === 'for')) return;
+ var output = this.evaluateReturnExpression(el, expression, extraVars);
+ handleIfDirective(this, el, output, initialUpdate, extraVars);
+ break;
+
+ case 'for':
+ handleForDirective(this, el, expression, initialUpdate, extraVars);
+ break;
+
+ case 'cloak':
+ el.removeAttribute('x-cloak');
+ break;
+ }
+ });
+ }
+
+ evaluateReturnExpression(el, expression, extraVars = () => {}) {
+ return saferEval(el, expression, this.$data, _objectSpread2(_objectSpread2({}, extraVars()), {}, {
+ $dispatch: this.getDispatchFunction(el)
+ }));
+ }
+
+ evaluateCommandExpression(el, expression, extraVars = () => {}) {
+ return saferEvalNoReturn(el, expression, this.$data, _objectSpread2(_objectSpread2({}, extraVars()), {}, {
+ $dispatch: this.getDispatchFunction(el)
+ }));
+ }
+
+ getDispatchFunction(el) {
+ return (event, detail = {}) => {
+ el.dispatchEvent(new CustomEvent(event, {
+ detail,
+ bubbles: true
+ }));
+ };
+ }
+
+ listenForNewElementsToInitialize() {
+ const targetNode = this.$el;
+ const observerOptions = {
+ childList: true,
+ attributes: true,
+ subtree: true
+ };
+ const observer = new MutationObserver(mutations => {
+ for (let i = 0; i < mutations.length; i++) {
+ // Filter out mutations triggered from child components.
+ const closestParentComponent = mutations[i].target.closest('[x-data]');
+ if (!(closestParentComponent && closestParentComponent.isSameNode(this.$el))) continue;
+
+ if (mutations[i].type === 'attributes' && mutations[i].attributeName === 'x-data') {
+ const xAttr = mutations[i].target.getAttribute('x-data') || '{}';
+ const rawData = saferEval(this.$el, xAttr, {
+ $el: this.$el
+ });
+ Object.keys(rawData).forEach(key => {
+ if (this.$data[key] !== rawData[key]) {
+ this.$data[key] = rawData[key];
+ }
+ });
+ }
+
+ if (mutations[i].addedNodes.length > 0) {
+ mutations[i].addedNodes.forEach(node => {
+ if (node.nodeType !== 1 || node.__x_inserted_me) return;
+
+ if (node.matches('[x-data]') && !node.__x) {
+ node.__x = new Component(node);
+ return;
+ }
+
+ this.initializeElements(node);
+ });
+ }
+ }
+ });
+ observer.observe(targetNode, observerOptions);
+ }
+
+ getRefsProxy() {
+ var self = this;
+ var refObj = {};
+ // One of the goals of this is to not hold elements in memory, but rather re-evaluate
+ // the DOM when the system needs something from it. This way, the framework is flexible and
+ // friendly to outside DOM changes from libraries like Vue/Livewire.
+ // For this reason, I'm using an "on-demand" proxy to fake a "$refs" object.
+
+ return new Proxy(refObj, {
+ get(object, property) {
+ if (property === '$isAlpineProxy') return true;
+ var ref; // We can't just query the DOM because it's hard to filter out refs in
+ // nested components.
+
+ self.walkAndSkipNestedComponents(self.$el, el => {
+ if (el.hasAttribute('x-ref') && el.getAttribute('x-ref') === property) {
+ ref = el;
+ }
+ });
+ return ref;
+ }
+
+ });
+ }
+
+ }
+
+ const Alpine = {
+ version: "2.8.0",
+ pauseMutationObserver: false,
+ magicProperties: {},
+ onComponentInitializeds: [],
+ onBeforeComponentInitializeds: [],
+ ignoreFocusedForValueBinding: false,
+ start: async function start() {
+ if (!isTesting()) {
+ await domReady();
+ }
+
+ this.discoverComponents(el => {
+ this.initializeComponent(el);
+ }); // It's easier and more performant to just support Turbolinks than listen
+ // to MutationObserver mutations at the document level.
+
+ document.addEventListener("turbolinks:load", () => {
+ this.discoverUninitializedComponents(el => {
+ this.initializeComponent(el);
+ });
+ });
+ this.listenForNewUninitializedComponentsAtRunTime();
+ },
+ discoverComponents: function discoverComponents(callback) {
+ const rootEls = document.querySelectorAll('[x-data]');
+ rootEls.forEach(rootEl => {
+ callback(rootEl);
+ });
+ },
+ discoverUninitializedComponents: function discoverUninitializedComponents(callback, el = null) {
+ const rootEls = (el || document).querySelectorAll('[x-data]');
+ Array.from(rootEls).filter(el => el.__x === undefined).forEach(rootEl => {
+ callback(rootEl);
+ });
+ },
+ listenForNewUninitializedComponentsAtRunTime: function listenForNewUninitializedComponentsAtRunTime() {
+ const targetNode = document.querySelector('body');
+ const observerOptions = {
+ childList: true,
+ attributes: true,
+ subtree: true
+ };
+ const observer = new MutationObserver(mutations => {
+ if (this.pauseMutationObserver) return;
+
+ for (let i = 0; i < mutations.length; i++) {
+ if (mutations[i].addedNodes.length > 0) {
+ mutations[i].addedNodes.forEach(node => {
+ // Discard non-element nodes (like line-breaks)
+ if (node.nodeType !== 1) return; // Discard any changes happening within an existing component.
+ // They will take care of themselves.
+
+ if (node.parentElement && node.parentElement.closest('[x-data]')) return;
+ this.discoverUninitializedComponents(el => {
+ this.initializeComponent(el);
+ }, node.parentElement);
+ });
+ }
+ }
+ });
+ observer.observe(targetNode, observerOptions);
+ },
+ initializeComponent: function initializeComponent(el) {
+ if (!el.__x) {
+ // Wrap in a try/catch so that we don't prevent other components
+ // from initializing when one component contains an error.
+ try {
+ el.__x = new Component(el);
+ } catch (error) {
+ setTimeout(() => {
+ throw error;
+ }, 0);
+ }
+ }
+ },
+ clone: function clone(component, newEl) {
+ if (!newEl.__x) {
+ newEl.__x = new Component(newEl, component);
+ }
+ },
+ addMagicProperty: function addMagicProperty(name, callback) {
+ this.magicProperties[name] = callback;
+ },
+ onComponentInitialized: function onComponentInitialized(callback) {
+ this.onComponentInitializeds.push(callback);
+ },
+ onBeforeComponentInitialized: function onBeforeComponentInitialized(callback) {
+ this.onBeforeComponentInitializeds.push(callback);
+ }
+ };
+
+ if (!isTesting()) {
+ window.Alpine = Alpine;
+
+ if (window.deferLoadingAlpine) {
+ window.deferLoadingAlpine(function () {
+ window.Alpine.start();
+ });
+ } else {
+ window.Alpine.start();
+ }
+ }
+
+ return Alpine;
+
+})));
diff --git a/public/js/app.js b/public/js/app.js
index 47a47f0..05d4474 100644
--- a/public/js/app.js
+++ b/public/js/app.js
@@ -1,97 +1,11 @@
-/******/ (function(modules) { // webpackBootstrap
-/******/ // The module cache
-/******/ var installedModules = {};
-/******/
-/******/ // The require function
-/******/ function __webpack_require__(moduleId) {
-/******/
-/******/ // Check if module is in cache
-/******/ if(installedModules[moduleId]) {
-/******/ return installedModules[moduleId].exports;
-/******/ }
-/******/ // Create a new module (and put it into the cache)
-/******/ var module = installedModules[moduleId] = {
-/******/ i: moduleId,
-/******/ l: false,
-/******/ exports: {}
-/******/ };
-/******/
-/******/ // Execute the module function
-/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
-/******/
-/******/ // Flag the module as loaded
-/******/ module.l = true;
-/******/
-/******/ // Return the exports of the module
-/******/ return module.exports;
-/******/ }
-/******/
-/******/
-/******/ // expose the modules object (__webpack_modules__)
-/******/ __webpack_require__.m = modules;
-/******/
-/******/ // expose the module cache
-/******/ __webpack_require__.c = installedModules;
-/******/
-/******/ // define getter function for harmony exports
-/******/ __webpack_require__.d = function(exports, name, getter) {
-/******/ if(!__webpack_require__.o(exports, name)) {
-/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter });
-/******/ }
-/******/ };
-/******/
-/******/ // define __esModule on exports
-/******/ __webpack_require__.r = function(exports) {
-/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
-/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
-/******/ }
-/******/ Object.defineProperty(exports, '__esModule', { value: true });
-/******/ };
-/******/
-/******/ // create a fake namespace object
-/******/ // mode & 1: value is a module id, require it
-/******/ // mode & 2: merge all properties of value into the ns
-/******/ // mode & 4: return value when already ns object
-/******/ // mode & 8|1: behave like require
-/******/ __webpack_require__.t = function(value, mode) {
-/******/ if(mode & 1) value = __webpack_require__(value);
-/******/ if(mode & 8) return value;
-/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
-/******/ var ns = Object.create(null);
-/******/ __webpack_require__.r(ns);
-/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value });
-/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
-/******/ return ns;
-/******/ };
-/******/
-/******/ // getDefaultExport function for compatibility with non-harmony modules
-/******/ __webpack_require__.n = function(module) {
-/******/ var getter = module && module.__esModule ?
-/******/ function getDefault() { return module['default']; } :
-/******/ function getModuleExports() { return module; };
-/******/ __webpack_require__.d(getter, 'a', getter);
-/******/ return getter;
-/******/ };
-/******/
-/******/ // Object.prototype.hasOwnProperty.call
-/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
-/******/
-/******/ // __webpack_public_path__
-/******/ __webpack_require__.p = "/";
-/******/
-/******/
-/******/ // Load entry module and return exports
-/******/ return __webpack_require__(__webpack_require__.s = 0);
-/******/ })
-/************************************************************************/
-/******/ ({
+/******/ (() => { // webpackBootstrap
+/******/ var __webpack_modules__ = ({
/***/ "./node_modules/axios/index.js":
/*!*************************************!*\
!*** ./node_modules/axios/index.js ***!
\*************************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
+/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
module.exports = __webpack_require__(/*! ./lib/axios */ "./node_modules/axios/lib/axios.js");
@@ -101,8 +15,7 @@ module.exports = __webpack_require__(/*! ./lib/axios */ "./node_modules/axios/li
/*!************************************************!*\
!*** ./node_modules/axios/lib/adapters/xhr.js ***!
\************************************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
+/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
@@ -125,19 +38,12 @@ module.exports = function xhrAdapter(config) {
delete requestHeaders['Content-Type']; // Let the browser set it
}
- if (
- (utils.isBlob(requestData) || utils.isFile(requestData)) &&
- requestData.type
- ) {
- delete requestHeaders['Content-Type']; // Let the browser set it
- }
-
var request = new XMLHttpRequest();
// HTTP basic authentication
if (config.auth) {
var username = config.auth.username || '';
- var password = unescape(encodeURIComponent(config.auth.password)) || '';
+ var password = config.auth.password ? unescape(encodeURIComponent(config.auth.password)) : '';
requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password);
}
@@ -299,8 +205,7 @@ module.exports = function xhrAdapter(config) {
/*!*****************************************!*\
!*** ./node_modules/axios/lib/axios.js ***!
\*****************************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
+/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
@@ -352,6 +257,9 @@ axios.all = function all(promises) {
};
axios.spread = __webpack_require__(/*! ./helpers/spread */ "./node_modules/axios/lib/helpers/spread.js");
+// Expose isAxiosError
+axios.isAxiosError = __webpack_require__(/*! ./helpers/isAxiosError */ "./node_modules/axios/lib/helpers/isAxiosError.js");
+
module.exports = axios;
// Allow use of default import syntax in TypeScript
@@ -364,8 +272,7 @@ module.exports.default = axios;
/*!*************************************************!*\
!*** ./node_modules/axios/lib/cancel/Cancel.js ***!
\*************************************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
+/***/ ((module) => {
"use strict";
@@ -395,8 +302,7 @@ module.exports = Cancel;
/*!******************************************************!*\
!*** ./node_modules/axios/lib/cancel/CancelToken.js ***!
\******************************************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
+/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
@@ -464,8 +370,7 @@ module.exports = CancelToken;
/*!***************************************************!*\
!*** ./node_modules/axios/lib/cancel/isCancel.js ***!
\***************************************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
+/***/ ((module) => {
"use strict";
@@ -481,8 +386,7 @@ module.exports = function isCancel(value) {
/*!**********************************************!*\
!*** ./node_modules/axios/lib/core/Axios.js ***!
\**********************************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
+/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
@@ -562,7 +466,8 @@ utils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData
Axios.prototype[method] = function(url, config) {
return this.request(mergeConfig(config || {}, {
method: method,
- url: url
+ url: url,
+ data: (config || {}).data
}));
};
});
@@ -587,8 +492,7 @@ module.exports = Axios;
/*!***********************************************************!*\
!*** ./node_modules/axios/lib/core/InterceptorManager.js ***!
\***********************************************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
+/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
@@ -651,8 +555,7 @@ module.exports = InterceptorManager;
/*!******************************************************!*\
!*** ./node_modules/axios/lib/core/buildFullPath.js ***!
\******************************************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
+/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
@@ -683,8 +586,7 @@ module.exports = function buildFullPath(baseURL, requestedURL) {
/*!****************************************************!*\
!*** ./node_modules/axios/lib/core/createError.js ***!
\****************************************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
+/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
@@ -713,8 +615,7 @@ module.exports = function createError(message, config, code, request, response)
/*!********************************************************!*\
!*** ./node_modules/axios/lib/core/dispatchRequest.js ***!
\********************************************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
+/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
@@ -804,8 +705,7 @@ module.exports = function dispatchRequest(config) {
/*!*****************************************************!*\
!*** ./node_modules/axios/lib/core/enhanceError.js ***!
\*****************************************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
+/***/ ((module) => {
"use strict";
@@ -858,8 +758,7 @@ module.exports = function enhanceError(error, config, code, request, response) {
/*!****************************************************!*\
!*** ./node_modules/axios/lib/core/mergeConfig.js ***!
\****************************************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
+/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
@@ -957,8 +856,7 @@ module.exports = function mergeConfig(config1, config2) {
/*!***********************************************!*\
!*** ./node_modules/axios/lib/core/settle.js ***!
\***********************************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
+/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
@@ -994,8 +892,7 @@ module.exports = function settle(resolve, reject, response) {
/*!******************************************************!*\
!*** ./node_modules/axios/lib/core/transformData.js ***!
\******************************************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
+/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
@@ -1026,11 +923,11 @@ module.exports = function transformData(data, headers, fns) {
/*!********************************************!*\
!*** ./node_modules/axios/lib/defaults.js ***!
\********************************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
+/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
-/* WEBPACK VAR INJECTION */(function(process) {
+/* provided dependency */ var process = __webpack_require__(/*! process/browser */ "./node_modules/process/browser.js");
+
var utils = __webpack_require__(/*! ./utils */ "./node_modules/axios/lib/utils.js");
var normalizeHeaderName = __webpack_require__(/*! ./helpers/normalizeHeaderName */ "./node_modules/axios/lib/helpers/normalizeHeaderName.js");
@@ -1129,7 +1026,6 @@ utils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {
module.exports = defaults;
-/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../process/browser.js */ "./node_modules/process/browser.js")))
/***/ }),
@@ -1137,8 +1033,7 @@ module.exports = defaults;
/*!************************************************!*\
!*** ./node_modules/axios/lib/helpers/bind.js ***!
\************************************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
+/***/ ((module) => {
"use strict";
@@ -1160,8 +1055,7 @@ module.exports = function bind(fn, thisArg) {
/*!****************************************************!*\
!*** ./node_modules/axios/lib/helpers/buildURL.js ***!
\****************************************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
+/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
@@ -1242,8 +1136,7 @@ module.exports = function buildURL(url, params, paramsSerializer) {
/*!*******************************************************!*\
!*** ./node_modules/axios/lib/helpers/combineURLs.js ***!
\*******************************************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
+/***/ ((module) => {
"use strict";
@@ -1268,8 +1161,7 @@ module.exports = function combineURLs(baseURL, relativeURL) {
/*!***************************************************!*\
!*** ./node_modules/axios/lib/helpers/cookies.js ***!
\***************************************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
+/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
@@ -1333,8 +1225,7 @@ module.exports = (
/*!*********************************************************!*\
!*** ./node_modules/axios/lib/helpers/isAbsoluteURL.js ***!
\*********************************************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
+/***/ ((module) => {
"use strict";
@@ -1353,14 +1244,35 @@ module.exports = function isAbsoluteURL(url) {
};
+/***/ }),
+
+/***/ "./node_modules/axios/lib/helpers/isAxiosError.js":
+/*!********************************************************!*\
+ !*** ./node_modules/axios/lib/helpers/isAxiosError.js ***!
+ \********************************************************/
+/***/ ((module) => {
+
+"use strict";
+
+
+/**
+ * Determines whether the payload is an error thrown by Axios
+ *
+ * @param {*} payload The value to test
+ * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false
+ */
+module.exports = function isAxiosError(payload) {
+ return (typeof payload === 'object') && (payload.isAxiosError === true);
+};
+
+
/***/ }),
/***/ "./node_modules/axios/lib/helpers/isURLSameOrigin.js":
/*!***********************************************************!*\
!*** ./node_modules/axios/lib/helpers/isURLSameOrigin.js ***!
\***********************************************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
+/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
@@ -1439,8 +1351,7 @@ module.exports = (
/*!***************************************************************!*\
!*** ./node_modules/axios/lib/helpers/normalizeHeaderName.js ***!
\***************************************************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
+/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
@@ -1463,8 +1374,7 @@ module.exports = function normalizeHeaderName(headers, normalizedName) {
/*!********************************************************!*\
!*** ./node_modules/axios/lib/helpers/parseHeaders.js ***!
\********************************************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
+/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
@@ -1528,8 +1438,7 @@ module.exports = function parseHeaders(headers) {
/*!**************************************************!*\
!*** ./node_modules/axios/lib/helpers/spread.js ***!
\**************************************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
+/***/ ((module) => {
"use strict";
@@ -1567,8 +1476,7 @@ module.exports = function spread(callback) {
/*!*****************************************!*\
!*** ./node_modules/axios/lib/utils.js ***!
\*****************************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
+/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
@@ -1926,35110 +1834,17239 @@ module.exports = {
/***/ }),
-/***/ "./node_modules/bootstrap/dist/js/bootstrap.js":
-/*!*****************************************************!*\
- !*** ./node_modules/bootstrap/dist/js/bootstrap.js ***!
- \*****************************************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
+/***/ "./resources/js/app.js":
+/*!*****************************!*\
+ !*** ./resources/js/app.js ***!
+ \*****************************/
+/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => {
-/*!
- * Bootstrap v4.5.3 (https://getbootstrap.com/)
- * Copyright 2011-2020 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
- */
-(function (global, factory) {
- true ? factory(exports, __webpack_require__(/*! jquery */ "./node_modules/jquery/dist/jquery.js"), __webpack_require__(/*! popper.js */ "./node_modules/popper.js/dist/esm/popper.js")) :
- undefined;
-}(this, (function (exports, $, Popper) { 'use strict';
-
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
-
- var $__default = /*#__PURE__*/_interopDefaultLegacy($);
- var Popper__default = /*#__PURE__*/_interopDefaultLegacy(Popper);
-
- function _defineProperties(target, props) {
- for (var i = 0; i < props.length; i++) {
- var descriptor = props[i];
- descriptor.enumerable = descriptor.enumerable || false;
- descriptor.configurable = true;
- if ("value" in descriptor) descriptor.writable = true;
- Object.defineProperty(target, descriptor.key, descriptor);
- }
- }
+__webpack_require__(/*! ./bootstrap */ "./resources/js/bootstrap.js");
- function _createClass(Constructor, protoProps, staticProps) {
- if (protoProps) _defineProperties(Constructor.prototype, protoProps);
- if (staticProps) _defineProperties(Constructor, staticProps);
- return Constructor;
- }
+var tooltipTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="tooltip"]'));
+var tooltipList = tooltipTriggerList.map(function (tooltipTriggerEl) {
+ return new bootstrap.Tooltip(tooltipTriggerEl);
+});
- function _extends() {
- _extends = Object.assign || function (target) {
- for (var i = 1; i < arguments.length; i++) {
- var source = arguments[i];
+/***/ }),
- for (var key in source) {
- if (Object.prototype.hasOwnProperty.call(source, key)) {
- target[key] = source[key];
- }
- }
- }
+/***/ "./resources/js/bootstrap.js":
+/*!***********************************!*\
+ !*** ./resources/js/bootstrap.js ***!
+ \***********************************/
+/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => {
- return target;
- };
+window._ = __webpack_require__(/*! lodash */ "./node_modules/lodash/lodash.js");
+/**
+ * We'll load the axios HTTP library which allows us to easily issue requests
+ * to our Laravel back-end. This library automatically handles sending the
+ * CSRF token as a header based on the value of the "XSRF" token cookie.
+ */
- return _extends.apply(this, arguments);
- }
+window.axios = __webpack_require__(/*! axios */ "./node_modules/axios/index.js");
+window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest';
+/**
+ * Echo exposes an expressive API for subscribing to channels and listening
+ * for events that are broadcast by Laravel. Echo and event broadcasting
+ * allows your team to easily build robust real-time web applications.
+ */
+// import Echo from 'laravel-echo';
+// window.Pusher = require('pusher-js');
+// window.Echo = new Echo({
+// broadcaster: 'pusher',
+// key: process.env.MIX_PUSHER_APP_KEY,
+// cluster: process.env.MIX_PUSHER_APP_CLUSTER,
+// forceTLS: true
+// });
- function _inheritsLoose(subClass, superClass) {
- subClass.prototype = Object.create(superClass.prototype);
- subClass.prototype.constructor = subClass;
- subClass.__proto__ = superClass;
- }
+/***/ }),
- /**
- * --------------------------------------------------------------------------
- * Bootstrap (v4.5.3): util.js
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
- * --------------------------------------------------------------------------
- */
- /**
- * ------------------------------------------------------------------------
- * Private TransitionEnd Helpers
- * ------------------------------------------------------------------------
- */
+/***/ "./node_modules/lodash/lodash.js":
+/*!***************************************!*\
+ !*** ./node_modules/lodash/lodash.js ***!
+ \***************************************/
+/***/ (function(module, exports, __webpack_require__) {
- var TRANSITION_END = 'transitionend';
- var MAX_UID = 1000000;
- var MILLISECONDS_MULTIPLIER = 1000; // Shoutout AngusCroll (https://goo.gl/pxwQGp)
+/* module decorator */ module = __webpack_require__.nmd(module);
+var __WEBPACK_AMD_DEFINE_RESULT__;/**
+ * @license
+ * Lodash
+ * Copyright OpenJS Foundation and other contributors
+ * Released under MIT license
+ * Based on Underscore.js 1.8.3
+ * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
+ */
+;(function() {
- function toType(obj) {
- if (obj === null || typeof obj === 'undefined') {
- return "" + obj;
- }
+ /** Used as a safe reference for `undefined` in pre-ES5 environments. */
+ var undefined;
- return {}.toString.call(obj).match(/\s([a-z]+)/i)[1].toLowerCase();
- }
+ /** Used as the semantic version number. */
+ var VERSION = '4.17.20';
- function getSpecialTransitionEndEvent() {
- return {
- bindType: TRANSITION_END,
- delegateType: TRANSITION_END,
- handle: function handle(event) {
- if ($__default['default'](event.target).is(this)) {
- return event.handleObj.handler.apply(this, arguments); // eslint-disable-line prefer-rest-params
- }
+ /** Used as the size to enable large array optimizations. */
+ var LARGE_ARRAY_SIZE = 200;
- return undefined;
- }
- };
- }
+ /** Error message constants. */
+ var CORE_ERROR_TEXT = 'Unsupported core-js use. Try https://npms.io/search?q=ponyfill.',
+ FUNC_ERROR_TEXT = 'Expected a function';
- function transitionEndEmulator(duration) {
- var _this = this;
+ /** Used to stand-in for `undefined` hash values. */
+ var HASH_UNDEFINED = '__lodash_hash_undefined__';
- var called = false;
- $__default['default'](this).one(Util.TRANSITION_END, function () {
- called = true;
- });
- setTimeout(function () {
- if (!called) {
- Util.triggerTransitionEnd(_this);
- }
- }, duration);
- return this;
- }
+ /** Used as the maximum memoize cache size. */
+ var MAX_MEMOIZE_SIZE = 500;
- function setTransitionEndSupport() {
- $__default['default'].fn.emulateTransitionEnd = transitionEndEmulator;
- $__default['default'].event.special[Util.TRANSITION_END] = getSpecialTransitionEndEvent();
- }
- /**
- * --------------------------------------------------------------------------
- * Public Util Api
- * --------------------------------------------------------------------------
- */
+ /** Used as the internal argument placeholder. */
+ var PLACEHOLDER = '__lodash_placeholder__';
+ /** Used to compose bitmasks for cloning. */
+ var CLONE_DEEP_FLAG = 1,
+ CLONE_FLAT_FLAG = 2,
+ CLONE_SYMBOLS_FLAG = 4;
- var Util = {
- TRANSITION_END: 'bsTransitionEnd',
- getUID: function getUID(prefix) {
- do {
- prefix += ~~(Math.random() * MAX_UID); // "~~" acts like a faster Math.floor() here
- } while (document.getElementById(prefix));
+ /** Used to compose bitmasks for value comparisons. */
+ var COMPARE_PARTIAL_FLAG = 1,
+ COMPARE_UNORDERED_FLAG = 2;
- return prefix;
- },
- getSelectorFromElement: function getSelectorFromElement(element) {
- var selector = element.getAttribute('data-target');
+ /** Used to compose bitmasks for function metadata. */
+ var WRAP_BIND_FLAG = 1,
+ WRAP_BIND_KEY_FLAG = 2,
+ WRAP_CURRY_BOUND_FLAG = 4,
+ WRAP_CURRY_FLAG = 8,
+ WRAP_CURRY_RIGHT_FLAG = 16,
+ WRAP_PARTIAL_FLAG = 32,
+ WRAP_PARTIAL_RIGHT_FLAG = 64,
+ WRAP_ARY_FLAG = 128,
+ WRAP_REARG_FLAG = 256,
+ WRAP_FLIP_FLAG = 512;
- if (!selector || selector === '#') {
- var hrefAttr = element.getAttribute('href');
- selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : '';
- }
+ /** Used as default options for `_.truncate`. */
+ var DEFAULT_TRUNC_LENGTH = 30,
+ DEFAULT_TRUNC_OMISSION = '...';
- try {
- return document.querySelector(selector) ? selector : null;
- } catch (_) {
- return null;
- }
- },
- getTransitionDurationFromElement: function getTransitionDurationFromElement(element) {
- if (!element) {
- return 0;
- } // Get transition-duration of the element
+ /** Used to detect hot functions by number of calls within a span of milliseconds. */
+ var HOT_COUNT = 800,
+ HOT_SPAN = 16;
+ /** Used to indicate the type of lazy iteratees. */
+ var LAZY_FILTER_FLAG = 1,
+ LAZY_MAP_FLAG = 2,
+ LAZY_WHILE_FLAG = 3;
- var transitionDuration = $__default['default'](element).css('transition-duration');
- var transitionDelay = $__default['default'](element).css('transition-delay');
- var floatTransitionDuration = parseFloat(transitionDuration);
- var floatTransitionDelay = parseFloat(transitionDelay); // Return 0 if element or transition duration is not found
+ /** Used as references for various `Number` constants. */
+ var INFINITY = 1 / 0,
+ MAX_SAFE_INTEGER = 9007199254740991,
+ MAX_INTEGER = 1.7976931348623157e+308,
+ NAN = 0 / 0;
- if (!floatTransitionDuration && !floatTransitionDelay) {
- return 0;
- } // If multiple durations are defined, take the first
-
-
- transitionDuration = transitionDuration.split(',')[0];
- transitionDelay = transitionDelay.split(',')[0];
- return (parseFloat(transitionDuration) + parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER;
- },
- reflow: function reflow(element) {
- return element.offsetHeight;
- },
- triggerTransitionEnd: function triggerTransitionEnd(element) {
- $__default['default'](element).trigger(TRANSITION_END);
- },
- supportsTransitionEnd: function supportsTransitionEnd() {
- return Boolean(TRANSITION_END);
- },
- isElement: function isElement(obj) {
- return (obj[0] || obj).nodeType;
- },
- typeCheckConfig: function typeCheckConfig(componentName, config, configTypes) {
- for (var property in configTypes) {
- if (Object.prototype.hasOwnProperty.call(configTypes, property)) {
- var expectedTypes = configTypes[property];
- var value = config[property];
- var valueType = value && Util.isElement(value) ? 'element' : toType(value);
-
- if (!new RegExp(expectedTypes).test(valueType)) {
- throw new Error(componentName.toUpperCase() + ": " + ("Option \"" + property + "\" provided type \"" + valueType + "\" ") + ("but expected type \"" + expectedTypes + "\"."));
- }
- }
- }
- },
- findShadowRoot: function findShadowRoot(element) {
- if (!document.documentElement.attachShadow) {
- return null;
- } // Can find the shadow root otherwise it'll return the document
+ /** Used as references for the maximum length and index of an array. */
+ var MAX_ARRAY_LENGTH = 4294967295,
+ MAX_ARRAY_INDEX = MAX_ARRAY_LENGTH - 1,
+ HALF_MAX_ARRAY_LENGTH = MAX_ARRAY_LENGTH >>> 1;
+ /** Used to associate wrap methods with their bit flags. */
+ var wrapFlags = [
+ ['ary', WRAP_ARY_FLAG],
+ ['bind', WRAP_BIND_FLAG],
+ ['bindKey', WRAP_BIND_KEY_FLAG],
+ ['curry', WRAP_CURRY_FLAG],
+ ['curryRight', WRAP_CURRY_RIGHT_FLAG],
+ ['flip', WRAP_FLIP_FLAG],
+ ['partial', WRAP_PARTIAL_FLAG],
+ ['partialRight', WRAP_PARTIAL_RIGHT_FLAG],
+ ['rearg', WRAP_REARG_FLAG]
+ ];
- if (typeof element.getRootNode === 'function') {
- var root = element.getRootNode();
- return root instanceof ShadowRoot ? root : null;
- }
+ /** `Object#toString` result references. */
+ var argsTag = '[object Arguments]',
+ arrayTag = '[object Array]',
+ asyncTag = '[object AsyncFunction]',
+ boolTag = '[object Boolean]',
+ dateTag = '[object Date]',
+ domExcTag = '[object DOMException]',
+ errorTag = '[object Error]',
+ funcTag = '[object Function]',
+ genTag = '[object GeneratorFunction]',
+ mapTag = '[object Map]',
+ numberTag = '[object Number]',
+ nullTag = '[object Null]',
+ objectTag = '[object Object]',
+ promiseTag = '[object Promise]',
+ proxyTag = '[object Proxy]',
+ regexpTag = '[object RegExp]',
+ setTag = '[object Set]',
+ stringTag = '[object String]',
+ symbolTag = '[object Symbol]',
+ undefinedTag = '[object Undefined]',
+ weakMapTag = '[object WeakMap]',
+ weakSetTag = '[object WeakSet]';
- if (element instanceof ShadowRoot) {
- return element;
- } // when we don't find a shadow root
+ var arrayBufferTag = '[object ArrayBuffer]',
+ dataViewTag = '[object DataView]',
+ float32Tag = '[object Float32Array]',
+ float64Tag = '[object Float64Array]',
+ int8Tag = '[object Int8Array]',
+ int16Tag = '[object Int16Array]',
+ int32Tag = '[object Int32Array]',
+ uint8Tag = '[object Uint8Array]',
+ uint8ClampedTag = '[object Uint8ClampedArray]',
+ uint16Tag = '[object Uint16Array]',
+ uint32Tag = '[object Uint32Array]';
+ /** Used to match empty string literals in compiled template source. */
+ var reEmptyStringLeading = /\b__p \+= '';/g,
+ reEmptyStringMiddle = /\b(__p \+=) '' \+/g,
+ reEmptyStringTrailing = /(__e\(.*?\)|\b__t\)) \+\n'';/g;
- if (!element.parentNode) {
- return null;
- }
+ /** Used to match HTML entities and HTML characters. */
+ var reEscapedHtml = /&(?:amp|lt|gt|quot|#39);/g,
+ reUnescapedHtml = /[&<>"']/g,
+ reHasEscapedHtml = RegExp(reEscapedHtml.source),
+ reHasUnescapedHtml = RegExp(reUnescapedHtml.source);
- return Util.findShadowRoot(element.parentNode);
- },
- jQueryDetection: function jQueryDetection() {
- if (typeof $__default['default'] === 'undefined') {
- throw new TypeError('Bootstrap\'s JavaScript requires jQuery. jQuery must be included before Bootstrap\'s JavaScript.');
- }
+ /** Used to match template delimiters. */
+ var reEscape = /<%-([\s\S]+?)%>/g,
+ reEvaluate = /<%([\s\S]+?)%>/g,
+ reInterpolate = /<%=([\s\S]+?)%>/g;
- var version = $__default['default'].fn.jquery.split(' ')[0].split('.');
- var minMajor = 1;
- var ltMajor = 2;
- var minMinor = 9;
- var minPatch = 1;
- var maxMajor = 4;
+ /** Used to match property names within property paths. */
+ var reIsDeepProp = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,
+ reIsPlainProp = /^\w*$/,
+ rePropName = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g;
- if (version[0] < ltMajor && version[1] < minMinor || version[0] === minMajor && version[1] === minMinor && version[2] < minPatch || version[0] >= maxMajor) {
- throw new Error('Bootstrap\'s JavaScript requires at least jQuery v1.9.1 but less than v4.0.0');
- }
- }
- };
- Util.jQueryDetection();
- setTransitionEndSupport();
-
- /**
- * ------------------------------------------------------------------------
- * Constants
- * ------------------------------------------------------------------------
- */
-
- var NAME = 'alert';
- var VERSION = '4.5.3';
- var DATA_KEY = 'bs.alert';
- var EVENT_KEY = "." + DATA_KEY;
- var DATA_API_KEY = '.data-api';
- var JQUERY_NO_CONFLICT = $__default['default'].fn[NAME];
- var SELECTOR_DISMISS = '[data-dismiss="alert"]';
- var EVENT_CLOSE = "close" + EVENT_KEY;
- var EVENT_CLOSED = "closed" + EVENT_KEY;
- var EVENT_CLICK_DATA_API = "click" + EVENT_KEY + DATA_API_KEY;
- var CLASS_NAME_ALERT = 'alert';
- var CLASS_NAME_FADE = 'fade';
- var CLASS_NAME_SHOW = 'show';
- /**
- * ------------------------------------------------------------------------
- * Class Definition
- * ------------------------------------------------------------------------
- */
-
- var Alert = /*#__PURE__*/function () {
- function Alert(element) {
- this._element = element;
- } // Getters
-
-
- var _proto = Alert.prototype;
-
- // Public
- _proto.close = function close(element) {
- var rootElement = this._element;
-
- if (element) {
- rootElement = this._getRootElement(element);
- }
-
- var customEvent = this._triggerCloseEvent(rootElement);
-
- if (customEvent.isDefaultPrevented()) {
- return;
- }
-
- this._removeElement(rootElement);
- };
-
- _proto.dispose = function dispose() {
- $__default['default'].removeData(this._element, DATA_KEY);
- this._element = null;
- } // Private
- ;
-
- _proto._getRootElement = function _getRootElement(element) {
- var selector = Util.getSelectorFromElement(element);
- var parent = false;
-
- if (selector) {
- parent = document.querySelector(selector);
- }
-
- if (!parent) {
- parent = $__default['default'](element).closest("." + CLASS_NAME_ALERT)[0];
- }
-
- return parent;
- };
-
- _proto._triggerCloseEvent = function _triggerCloseEvent(element) {
- var closeEvent = $__default['default'].Event(EVENT_CLOSE);
- $__default['default'](element).trigger(closeEvent);
- return closeEvent;
- };
-
- _proto._removeElement = function _removeElement(element) {
- var _this = this;
-
- $__default['default'](element).removeClass(CLASS_NAME_SHOW);
-
- if (!$__default['default'](element).hasClass(CLASS_NAME_FADE)) {
- this._destroyElement(element);
-
- return;
- }
-
- var transitionDuration = Util.getTransitionDurationFromElement(element);
- $__default['default'](element).one(Util.TRANSITION_END, function (event) {
- return _this._destroyElement(element, event);
- }).emulateTransitionEnd(transitionDuration);
- };
-
- _proto._destroyElement = function _destroyElement(element) {
- $__default['default'](element).detach().trigger(EVENT_CLOSED).remove();
- } // Static
- ;
-
- Alert._jQueryInterface = function _jQueryInterface(config) {
- return this.each(function () {
- var $element = $__default['default'](this);
- var data = $element.data(DATA_KEY);
-
- if (!data) {
- data = new Alert(this);
- $element.data(DATA_KEY, data);
- }
-
- if (config === 'close') {
- data[config](this);
- }
- });
- };
-
- Alert._handleDismiss = function _handleDismiss(alertInstance) {
- return function (event) {
- if (event) {
- event.preventDefault();
- }
-
- alertInstance.close(this);
- };
- };
-
- _createClass(Alert, null, [{
- key: "VERSION",
- get: function get() {
- return VERSION;
- }
- }]);
-
- return Alert;
- }();
/**
- * ------------------------------------------------------------------------
- * Data Api implementation
- * ------------------------------------------------------------------------
+ * Used to match `RegExp`
+ * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).
*/
+ var reRegExpChar = /[\\^$.*+?()[\]{}|]/g,
+ reHasRegExpChar = RegExp(reRegExpChar.source);
+ /** Used to match leading and trailing whitespace. */
+ var reTrim = /^\s+|\s+$/g,
+ reTrimStart = /^\s+/,
+ reTrimEnd = /\s+$/;
- $__default['default'](document).on(EVENT_CLICK_DATA_API, SELECTOR_DISMISS, Alert._handleDismiss(new Alert()));
- /**
- * ------------------------------------------------------------------------
- * jQuery
- * ------------------------------------------------------------------------
- */
-
- $__default['default'].fn[NAME] = Alert._jQueryInterface;
- $__default['default'].fn[NAME].Constructor = Alert;
+ /** Used to match wrap detail comments. */
+ var reWrapComment = /\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,
+ reWrapDetails = /\{\n\/\* \[wrapped with (.+)\] \*/,
+ reSplitDetails = /,? & /;
- $__default['default'].fn[NAME].noConflict = function () {
- $__default['default'].fn[NAME] = JQUERY_NO_CONFLICT;
- return Alert._jQueryInterface;
- };
+ /** Used to match words composed of alphanumeric characters. */
+ var reAsciiWord = /[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g;
- /**
- * ------------------------------------------------------------------------
- * Constants
- * ------------------------------------------------------------------------
- */
+ /** Used to match backslashes in property paths. */
+ var reEscapeChar = /\\(\\)?/g;
- var NAME$1 = 'button';
- var VERSION$1 = '4.5.3';
- var DATA_KEY$1 = 'bs.button';
- var EVENT_KEY$1 = "." + DATA_KEY$1;
- var DATA_API_KEY$1 = '.data-api';
- var JQUERY_NO_CONFLICT$1 = $__default['default'].fn[NAME$1];
- var CLASS_NAME_ACTIVE = 'active';
- var CLASS_NAME_BUTTON = 'btn';
- var CLASS_NAME_FOCUS = 'focus';
- var SELECTOR_DATA_TOGGLE_CARROT = '[data-toggle^="button"]';
- var SELECTOR_DATA_TOGGLES = '[data-toggle="buttons"]';
- var SELECTOR_DATA_TOGGLE = '[data-toggle="button"]';
- var SELECTOR_DATA_TOGGLES_BUTTONS = '[data-toggle="buttons"] .btn';
- var SELECTOR_INPUT = 'input:not([type="hidden"])';
- var SELECTOR_ACTIVE = '.active';
- var SELECTOR_BUTTON = '.btn';
- var EVENT_CLICK_DATA_API$1 = "click" + EVENT_KEY$1 + DATA_API_KEY$1;
- var EVENT_FOCUS_BLUR_DATA_API = "focus" + EVENT_KEY$1 + DATA_API_KEY$1 + " " + ("blur" + EVENT_KEY$1 + DATA_API_KEY$1);
- var EVENT_LOAD_DATA_API = "load" + EVENT_KEY$1 + DATA_API_KEY$1;
/**
- * ------------------------------------------------------------------------
- * Class Definition
- * ------------------------------------------------------------------------
+ * Used to match
+ * [ES template delimiters](http://ecma-international.org/ecma-262/7.0/#sec-template-literal-lexical-components).
*/
+ var reEsTemplate = /\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g;
- var Button = /*#__PURE__*/function () {
- function Button(element) {
- this._element = element;
- this.shouldAvoidTriggerChange = false;
- } // Getters
-
-
- var _proto = Button.prototype;
-
- // Public
- _proto.toggle = function toggle() {
- var triggerChangeEvent = true;
- var addAriaPressed = true;
- var rootElement = $__default['default'](this._element).closest(SELECTOR_DATA_TOGGLES)[0];
-
- if (rootElement) {
- var input = this._element.querySelector(SELECTOR_INPUT);
-
- if (input) {
- if (input.type === 'radio') {
- if (input.checked && this._element.classList.contains(CLASS_NAME_ACTIVE)) {
- triggerChangeEvent = false;
- } else {
- var activeElement = rootElement.querySelector(SELECTOR_ACTIVE);
+ /** Used to match `RegExp` flags from their coerced string values. */
+ var reFlags = /\w*$/;
- if (activeElement) {
- $__default['default'](activeElement).removeClass(CLASS_NAME_ACTIVE);
- }
- }
- }
+ /** Used to detect bad signed hexadecimal string values. */
+ var reIsBadHex = /^[-+]0x[0-9a-f]+$/i;
- if (triggerChangeEvent) {
- // if it's not a radio button or checkbox don't add a pointless/invalid checked property to the input
- if (input.type === 'checkbox' || input.type === 'radio') {
- input.checked = !this._element.classList.contains(CLASS_NAME_ACTIVE);
- }
+ /** Used to detect binary string values. */
+ var reIsBinary = /^0b[01]+$/i;
- if (!this.shouldAvoidTriggerChange) {
- $__default['default'](input).trigger('change');
- }
- }
+ /** Used to detect host constructors (Safari). */
+ var reIsHostCtor = /^\[object .+?Constructor\]$/;
- input.focus();
- addAriaPressed = false;
- }
- }
+ /** Used to detect octal string values. */
+ var reIsOctal = /^0o[0-7]+$/i;
- if (!(this._element.hasAttribute('disabled') || this._element.classList.contains('disabled'))) {
- if (addAriaPressed) {
- this._element.setAttribute('aria-pressed', !this._element.classList.contains(CLASS_NAME_ACTIVE));
- }
+ /** Used to detect unsigned integer values. */
+ var reIsUint = /^(?:0|[1-9]\d*)$/;
- if (triggerChangeEvent) {
- $__default['default'](this._element).toggleClass(CLASS_NAME_ACTIVE);
- }
- }
- };
+ /** Used to match Latin Unicode letters (excluding mathematical operators). */
+ var reLatin = /[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g;
- _proto.dispose = function dispose() {
- $__default['default'].removeData(this._element, DATA_KEY$1);
- this._element = null;
- } // Static
- ;
+ /** Used to ensure capturing order of template delimiters. */
+ var reNoMatch = /($^)/;
- Button._jQueryInterface = function _jQueryInterface(config, avoidTriggerChange) {
- return this.each(function () {
- var $element = $__default['default'](this);
- var data = $element.data(DATA_KEY$1);
+ /** Used to match unescaped characters in compiled string literals. */
+ var reUnescapedString = /['\n\r\u2028\u2029\\]/g;
- if (!data) {
- data = new Button(this);
- $element.data(DATA_KEY$1, data);
- }
+ /** Used to compose unicode character classes. */
+ var rsAstralRange = '\\ud800-\\udfff',
+ rsComboMarksRange = '\\u0300-\\u036f',
+ reComboHalfMarksRange = '\\ufe20-\\ufe2f',
+ rsComboSymbolsRange = '\\u20d0-\\u20ff',
+ rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange,
+ rsDingbatRange = '\\u2700-\\u27bf',
+ rsLowerRange = 'a-z\\xdf-\\xf6\\xf8-\\xff',
+ rsMathOpRange = '\\xac\\xb1\\xd7\\xf7',
+ rsNonCharRange = '\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf',
+ rsPunctuationRange = '\\u2000-\\u206f',
+ rsSpaceRange = ' \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000',
+ rsUpperRange = 'A-Z\\xc0-\\xd6\\xd8-\\xde',
+ rsVarRange = '\\ufe0e\\ufe0f',
+ rsBreakRange = rsMathOpRange + rsNonCharRange + rsPunctuationRange + rsSpaceRange;
- data.shouldAvoidTriggerChange = avoidTriggerChange;
+ /** Used to compose unicode capture groups. */
+ var rsApos = "['\u2019]",
+ rsAstral = '[' + rsAstralRange + ']',
+ rsBreak = '[' + rsBreakRange + ']',
+ rsCombo = '[' + rsComboRange + ']',
+ rsDigits = '\\d+',
+ rsDingbat = '[' + rsDingbatRange + ']',
+ rsLower = '[' + rsLowerRange + ']',
+ rsMisc = '[^' + rsAstralRange + rsBreakRange + rsDigits + rsDingbatRange + rsLowerRange + rsUpperRange + ']',
+ rsFitz = '\\ud83c[\\udffb-\\udfff]',
+ rsModifier = '(?:' + rsCombo + '|' + rsFitz + ')',
+ rsNonAstral = '[^' + rsAstralRange + ']',
+ rsRegional = '(?:\\ud83c[\\udde6-\\uddff]){2}',
+ rsSurrPair = '[\\ud800-\\udbff][\\udc00-\\udfff]',
+ rsUpper = '[' + rsUpperRange + ']',
+ rsZWJ = '\\u200d';
- if (config === 'toggle') {
- data[config]();
- }
- });
- };
+ /** Used to compose unicode regexes. */
+ var rsMiscLower = '(?:' + rsLower + '|' + rsMisc + ')',
+ rsMiscUpper = '(?:' + rsUpper + '|' + rsMisc + ')',
+ rsOptContrLower = '(?:' + rsApos + '(?:d|ll|m|re|s|t|ve))?',
+ rsOptContrUpper = '(?:' + rsApos + '(?:D|LL|M|RE|S|T|VE))?',
+ reOptMod = rsModifier + '?',
+ rsOptVar = '[' + rsVarRange + ']?',
+ rsOptJoin = '(?:' + rsZWJ + '(?:' + [rsNonAstral, rsRegional, rsSurrPair].join('|') + ')' + rsOptVar + reOptMod + ')*',
+ rsOrdLower = '\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])',
+ rsOrdUpper = '\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])',
+ rsSeq = rsOptVar + reOptMod + rsOptJoin,
+ rsEmoji = '(?:' + [rsDingbat, rsRegional, rsSurrPair].join('|') + ')' + rsSeq,
+ rsSymbol = '(?:' + [rsNonAstral + rsCombo + '?', rsCombo, rsRegional, rsSurrPair, rsAstral].join('|') + ')';
- _createClass(Button, null, [{
- key: "VERSION",
- get: function get() {
- return VERSION$1;
- }
- }]);
+ /** Used to match apostrophes. */
+ var reApos = RegExp(rsApos, 'g');
- return Button;
- }();
/**
- * ------------------------------------------------------------------------
- * Data Api implementation
- * ------------------------------------------------------------------------
+ * Used to match [combining diacritical marks](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks) and
+ * [combining diacritical marks for symbols](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks_for_Symbols).
*/
+ var reComboMark = RegExp(rsCombo, 'g');
+ /** Used to match [string symbols](https://mathiasbynens.be/notes/javascript-unicode). */
+ var reUnicode = RegExp(rsFitz + '(?=' + rsFitz + ')|' + rsSymbol + rsSeq, 'g');
- $__default['default'](document).on(EVENT_CLICK_DATA_API$1, SELECTOR_DATA_TOGGLE_CARROT, function (event) {
- var button = event.target;
- var initialButton = button;
-
- if (!$__default['default'](button).hasClass(CLASS_NAME_BUTTON)) {
- button = $__default['default'](button).closest(SELECTOR_BUTTON)[0];
- }
-
- if (!button || button.hasAttribute('disabled') || button.classList.contains('disabled')) {
- event.preventDefault(); // work around Firefox bug #1540995
- } else {
- var inputBtn = button.querySelector(SELECTOR_INPUT);
-
- if (inputBtn && (inputBtn.hasAttribute('disabled') || inputBtn.classList.contains('disabled'))) {
- event.preventDefault(); // work around Firefox bug #1540995
-
- return;
- }
-
- if (initialButton.tagName === 'INPUT' || button.tagName !== 'LABEL') {
- Button._jQueryInterface.call($__default['default'](button), 'toggle', initialButton.tagName === 'INPUT');
- }
- }
- }).on(EVENT_FOCUS_BLUR_DATA_API, SELECTOR_DATA_TOGGLE_CARROT, function (event) {
- var button = $__default['default'](event.target).closest(SELECTOR_BUTTON)[0];
- $__default['default'](button).toggleClass(CLASS_NAME_FOCUS, /^focus(in)?$/.test(event.type));
- });
- $__default['default'](window).on(EVENT_LOAD_DATA_API, function () {
- // ensure correct active class is set to match the controls' actual values/states
- // find all checkboxes/readio buttons inside data-toggle groups
- var buttons = [].slice.call(document.querySelectorAll(SELECTOR_DATA_TOGGLES_BUTTONS));
-
- for (var i = 0, len = buttons.length; i < len; i++) {
- var button = buttons[i];
- var input = button.querySelector(SELECTOR_INPUT);
-
- if (input.checked || input.hasAttribute('checked')) {
- button.classList.add(CLASS_NAME_ACTIVE);
- } else {
- button.classList.remove(CLASS_NAME_ACTIVE);
- }
- } // find all button toggles
-
+ /** Used to match complex or compound words. */
+ var reUnicodeWord = RegExp([
+ rsUpper + '?' + rsLower + '+' + rsOptContrLower + '(?=' + [rsBreak, rsUpper, '$'].join('|') + ')',
+ rsMiscUpper + '+' + rsOptContrUpper + '(?=' + [rsBreak, rsUpper + rsMiscLower, '$'].join('|') + ')',
+ rsUpper + '?' + rsMiscLower + '+' + rsOptContrLower,
+ rsUpper + '+' + rsOptContrUpper,
+ rsOrdUpper,
+ rsOrdLower,
+ rsDigits,
+ rsEmoji
+ ].join('|'), 'g');
- buttons = [].slice.call(document.querySelectorAll(SELECTOR_DATA_TOGGLE));
+ /** Used to detect strings with [zero-width joiners or code points from the astral planes](http://eev.ee/blog/2015/09/12/dark-corners-of-unicode/). */
+ var reHasUnicode = RegExp('[' + rsZWJ + rsAstralRange + rsComboRange + rsVarRange + ']');
- for (var _i = 0, _len = buttons.length; _i < _len; _i++) {
- var _button = buttons[_i];
+ /** Used to detect strings that need a more robust regexp to match words. */
+ var reHasUnicodeWord = /[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/;
- if (_button.getAttribute('aria-pressed') === 'true') {
- _button.classList.add(CLASS_NAME_ACTIVE);
- } else {
- _button.classList.remove(CLASS_NAME_ACTIVE);
- }
- }
- });
- /**
- * ------------------------------------------------------------------------
- * jQuery
- * ------------------------------------------------------------------------
- */
+ /** Used to assign default `context` object properties. */
+ var contextProps = [
+ 'Array', 'Buffer', 'DataView', 'Date', 'Error', 'Float32Array', 'Float64Array',
+ 'Function', 'Int8Array', 'Int16Array', 'Int32Array', 'Map', 'Math', 'Object',
+ 'Promise', 'RegExp', 'Set', 'String', 'Symbol', 'TypeError', 'Uint8Array',
+ 'Uint8ClampedArray', 'Uint16Array', 'Uint32Array', 'WeakMap',
+ '_', 'clearTimeout', 'isFinite', 'parseInt', 'setTimeout'
+ ];
- $__default['default'].fn[NAME$1] = Button._jQueryInterface;
- $__default['default'].fn[NAME$1].Constructor = Button;
+ /** Used to make template sourceURLs easier to identify. */
+ var templateCounter = -1;
- $__default['default'].fn[NAME$1].noConflict = function () {
- $__default['default'].fn[NAME$1] = JQUERY_NO_CONFLICT$1;
- return Button._jQueryInterface;
- };
+ /** Used to identify `toStringTag` values of typed arrays. */
+ var typedArrayTags = {};
+ typedArrayTags[float32Tag] = typedArrayTags[float64Tag] =
+ typedArrayTags[int8Tag] = typedArrayTags[int16Tag] =
+ typedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =
+ typedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =
+ typedArrayTags[uint32Tag] = true;
+ typedArrayTags[argsTag] = typedArrayTags[arrayTag] =
+ typedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =
+ typedArrayTags[dataViewTag] = typedArrayTags[dateTag] =
+ typedArrayTags[errorTag] = typedArrayTags[funcTag] =
+ typedArrayTags[mapTag] = typedArrayTags[numberTag] =
+ typedArrayTags[objectTag] = typedArrayTags[regexpTag] =
+ typedArrayTags[setTag] = typedArrayTags[stringTag] =
+ typedArrayTags[weakMapTag] = false;
- /**
- * ------------------------------------------------------------------------
- * Constants
- * ------------------------------------------------------------------------
- */
+ /** Used to identify `toStringTag` values supported by `_.clone`. */
+ var cloneableTags = {};
+ cloneableTags[argsTag] = cloneableTags[arrayTag] =
+ cloneableTags[arrayBufferTag] = cloneableTags[dataViewTag] =
+ cloneableTags[boolTag] = cloneableTags[dateTag] =
+ cloneableTags[float32Tag] = cloneableTags[float64Tag] =
+ cloneableTags[int8Tag] = cloneableTags[int16Tag] =
+ cloneableTags[int32Tag] = cloneableTags[mapTag] =
+ cloneableTags[numberTag] = cloneableTags[objectTag] =
+ cloneableTags[regexpTag] = cloneableTags[setTag] =
+ cloneableTags[stringTag] = cloneableTags[symbolTag] =
+ cloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] =
+ cloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;
+ cloneableTags[errorTag] = cloneableTags[funcTag] =
+ cloneableTags[weakMapTag] = false;
- var NAME$2 = 'carousel';
- var VERSION$2 = '4.5.3';
- var DATA_KEY$2 = 'bs.carousel';
- var EVENT_KEY$2 = "." + DATA_KEY$2;
- var DATA_API_KEY$2 = '.data-api';
- var JQUERY_NO_CONFLICT$2 = $__default['default'].fn[NAME$2];
- var ARROW_LEFT_KEYCODE = 37; // KeyboardEvent.which value for left arrow key
-
- var ARROW_RIGHT_KEYCODE = 39; // KeyboardEvent.which value for right arrow key
-
- var TOUCHEVENT_COMPAT_WAIT = 500; // Time for mouse compat events to fire after touch
-
- var SWIPE_THRESHOLD = 40;
- var Default = {
- interval: 5000,
- keyboard: true,
- slide: false,
- pause: 'hover',
- wrap: true,
- touch: true
- };
- var DefaultType = {
- interval: '(number|boolean)',
- keyboard: 'boolean',
- slide: '(boolean|string)',
- pause: '(string|boolean)',
- wrap: 'boolean',
- touch: 'boolean'
- };
- var DIRECTION_NEXT = 'next';
- var DIRECTION_PREV = 'prev';
- var DIRECTION_LEFT = 'left';
- var DIRECTION_RIGHT = 'right';
- var EVENT_SLIDE = "slide" + EVENT_KEY$2;
- var EVENT_SLID = "slid" + EVENT_KEY$2;
- var EVENT_KEYDOWN = "keydown" + EVENT_KEY$2;
- var EVENT_MOUSEENTER = "mouseenter" + EVENT_KEY$2;
- var EVENT_MOUSELEAVE = "mouseleave" + EVENT_KEY$2;
- var EVENT_TOUCHSTART = "touchstart" + EVENT_KEY$2;
- var EVENT_TOUCHMOVE = "touchmove" + EVENT_KEY$2;
- var EVENT_TOUCHEND = "touchend" + EVENT_KEY$2;
- var EVENT_POINTERDOWN = "pointerdown" + EVENT_KEY$2;
- var EVENT_POINTERUP = "pointerup" + EVENT_KEY$2;
- var EVENT_DRAG_START = "dragstart" + EVENT_KEY$2;
- var EVENT_LOAD_DATA_API$1 = "load" + EVENT_KEY$2 + DATA_API_KEY$2;
- var EVENT_CLICK_DATA_API$2 = "click" + EVENT_KEY$2 + DATA_API_KEY$2;
- var CLASS_NAME_CAROUSEL = 'carousel';
- var CLASS_NAME_ACTIVE$1 = 'active';
- var CLASS_NAME_SLIDE = 'slide';
- var CLASS_NAME_RIGHT = 'carousel-item-right';
- var CLASS_NAME_LEFT = 'carousel-item-left';
- var CLASS_NAME_NEXT = 'carousel-item-next';
- var CLASS_NAME_PREV = 'carousel-item-prev';
- var CLASS_NAME_POINTER_EVENT = 'pointer-event';
- var SELECTOR_ACTIVE$1 = '.active';
- var SELECTOR_ACTIVE_ITEM = '.active.carousel-item';
- var SELECTOR_ITEM = '.carousel-item';
- var SELECTOR_ITEM_IMG = '.carousel-item img';
- var SELECTOR_NEXT_PREV = '.carousel-item-next, .carousel-item-prev';
- var SELECTOR_INDICATORS = '.carousel-indicators';
- var SELECTOR_DATA_SLIDE = '[data-slide], [data-slide-to]';
- var SELECTOR_DATA_RIDE = '[data-ride="carousel"]';
- var PointerType = {
- TOUCH: 'touch',
- PEN: 'pen'
- };
- /**
- * ------------------------------------------------------------------------
- * Class Definition
- * ------------------------------------------------------------------------
- */
-
- var Carousel = /*#__PURE__*/function () {
- function Carousel(element, config) {
- this._items = null;
- this._interval = null;
- this._activeElement = null;
- this._isPaused = false;
- this._isSliding = false;
- this.touchTimeout = null;
- this.touchStartX = 0;
- this.touchDeltaX = 0;
- this._config = this._getConfig(config);
- this._element = element;
- this._indicatorsElement = this._element.querySelector(SELECTOR_INDICATORS);
- this._touchSupported = 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0;
- this._pointerEvent = Boolean(window.PointerEvent || window.MSPointerEvent);
-
- this._addEventListeners();
- } // Getters
-
-
- var _proto = Carousel.prototype;
-
- // Public
- _proto.next = function next() {
- if (!this._isSliding) {
- this._slide(DIRECTION_NEXT);
- }
- };
-
- _proto.nextWhenVisible = function nextWhenVisible() {
- var $element = $__default['default'](this._element); // Don't call next when the page isn't visible
- // or the carousel or its parent isn't visible
-
- if (!document.hidden && $element.is(':visible') && $element.css('visibility') !== 'hidden') {
- this.next();
- }
- };
+ /** Used to map Latin Unicode letters to basic Latin letters. */
+ var deburredLetters = {
+ // Latin-1 Supplement block.
+ '\xc0': 'A', '\xc1': 'A', '\xc2': 'A', '\xc3': 'A', '\xc4': 'A', '\xc5': 'A',
+ '\xe0': 'a', '\xe1': 'a', '\xe2': 'a', '\xe3': 'a', '\xe4': 'a', '\xe5': 'a',
+ '\xc7': 'C', '\xe7': 'c',
+ '\xd0': 'D', '\xf0': 'd',
+ '\xc8': 'E', '\xc9': 'E', '\xca': 'E', '\xcb': 'E',
+ '\xe8': 'e', '\xe9': 'e', '\xea': 'e', '\xeb': 'e',
+ '\xcc': 'I', '\xcd': 'I', '\xce': 'I', '\xcf': 'I',
+ '\xec': 'i', '\xed': 'i', '\xee': 'i', '\xef': 'i',
+ '\xd1': 'N', '\xf1': 'n',
+ '\xd2': 'O', '\xd3': 'O', '\xd4': 'O', '\xd5': 'O', '\xd6': 'O', '\xd8': 'O',
+ '\xf2': 'o', '\xf3': 'o', '\xf4': 'o', '\xf5': 'o', '\xf6': 'o', '\xf8': 'o',
+ '\xd9': 'U', '\xda': 'U', '\xdb': 'U', '\xdc': 'U',
+ '\xf9': 'u', '\xfa': 'u', '\xfb': 'u', '\xfc': 'u',
+ '\xdd': 'Y', '\xfd': 'y', '\xff': 'y',
+ '\xc6': 'Ae', '\xe6': 'ae',
+ '\xde': 'Th', '\xfe': 'th',
+ '\xdf': 'ss',
+ // Latin Extended-A block.
+ '\u0100': 'A', '\u0102': 'A', '\u0104': 'A',
+ '\u0101': 'a', '\u0103': 'a', '\u0105': 'a',
+ '\u0106': 'C', '\u0108': 'C', '\u010a': 'C', '\u010c': 'C',
+ '\u0107': 'c', '\u0109': 'c', '\u010b': 'c', '\u010d': 'c',
+ '\u010e': 'D', '\u0110': 'D', '\u010f': 'd', '\u0111': 'd',
+ '\u0112': 'E', '\u0114': 'E', '\u0116': 'E', '\u0118': 'E', '\u011a': 'E',
+ '\u0113': 'e', '\u0115': 'e', '\u0117': 'e', '\u0119': 'e', '\u011b': 'e',
+ '\u011c': 'G', '\u011e': 'G', '\u0120': 'G', '\u0122': 'G',
+ '\u011d': 'g', '\u011f': 'g', '\u0121': 'g', '\u0123': 'g',
+ '\u0124': 'H', '\u0126': 'H', '\u0125': 'h', '\u0127': 'h',
+ '\u0128': 'I', '\u012a': 'I', '\u012c': 'I', '\u012e': 'I', '\u0130': 'I',
+ '\u0129': 'i', '\u012b': 'i', '\u012d': 'i', '\u012f': 'i', '\u0131': 'i',
+ '\u0134': 'J', '\u0135': 'j',
+ '\u0136': 'K', '\u0137': 'k', '\u0138': 'k',
+ '\u0139': 'L', '\u013b': 'L', '\u013d': 'L', '\u013f': 'L', '\u0141': 'L',
+ '\u013a': 'l', '\u013c': 'l', '\u013e': 'l', '\u0140': 'l', '\u0142': 'l',
+ '\u0143': 'N', '\u0145': 'N', '\u0147': 'N', '\u014a': 'N',
+ '\u0144': 'n', '\u0146': 'n', '\u0148': 'n', '\u014b': 'n',
+ '\u014c': 'O', '\u014e': 'O', '\u0150': 'O',
+ '\u014d': 'o', '\u014f': 'o', '\u0151': 'o',
+ '\u0154': 'R', '\u0156': 'R', '\u0158': 'R',
+ '\u0155': 'r', '\u0157': 'r', '\u0159': 'r',
+ '\u015a': 'S', '\u015c': 'S', '\u015e': 'S', '\u0160': 'S',
+ '\u015b': 's', '\u015d': 's', '\u015f': 's', '\u0161': 's',
+ '\u0162': 'T', '\u0164': 'T', '\u0166': 'T',
+ '\u0163': 't', '\u0165': 't', '\u0167': 't',
+ '\u0168': 'U', '\u016a': 'U', '\u016c': 'U', '\u016e': 'U', '\u0170': 'U', '\u0172': 'U',
+ '\u0169': 'u', '\u016b': 'u', '\u016d': 'u', '\u016f': 'u', '\u0171': 'u', '\u0173': 'u',
+ '\u0174': 'W', '\u0175': 'w',
+ '\u0176': 'Y', '\u0177': 'y', '\u0178': 'Y',
+ '\u0179': 'Z', '\u017b': 'Z', '\u017d': 'Z',
+ '\u017a': 'z', '\u017c': 'z', '\u017e': 'z',
+ '\u0132': 'IJ', '\u0133': 'ij',
+ '\u0152': 'Oe', '\u0153': 'oe',
+ '\u0149': "'n", '\u017f': 's'
+ };
- _proto.prev = function prev() {
- if (!this._isSliding) {
- this._slide(DIRECTION_PREV);
- }
- };
+ /** Used to map characters to HTML entities. */
+ var htmlEscapes = {
+ '&': '&',
+ '<': '<',
+ '>': '>',
+ '"': '"',
+ "'": '''
+ };
- _proto.pause = function pause(event) {
- if (!event) {
- this._isPaused = true;
- }
+ /** Used to map HTML entities to characters. */
+ var htmlUnescapes = {
+ '&': '&',
+ '<': '<',
+ '>': '>',
+ '"': '"',
+ ''': "'"
+ };
- if (this._element.querySelector(SELECTOR_NEXT_PREV)) {
- Util.triggerTransitionEnd(this._element);
- this.cycle(true);
- }
+ /** Used to escape characters for inclusion in compiled string literals. */
+ var stringEscapes = {
+ '\\': '\\',
+ "'": "'",
+ '\n': 'n',
+ '\r': 'r',
+ '\u2028': 'u2028',
+ '\u2029': 'u2029'
+ };
- clearInterval(this._interval);
- this._interval = null;
- };
+ /** Built-in method references without a dependency on `root`. */
+ var freeParseFloat = parseFloat,
+ freeParseInt = parseInt;
- _proto.cycle = function cycle(event) {
- if (!event) {
- this._isPaused = false;
- }
+ /** Detect free variable `global` from Node.js. */
+ var freeGlobal = typeof __webpack_require__.g == 'object' && __webpack_require__.g && __webpack_require__.g.Object === Object && __webpack_require__.g;
- if (this._interval) {
- clearInterval(this._interval);
- this._interval = null;
- }
+ /** Detect free variable `self`. */
+ var freeSelf = typeof self == 'object' && self && self.Object === Object && self;
- if (this._config.interval && !this._isPaused) {
- this._interval = setInterval((document.visibilityState ? this.nextWhenVisible : this.next).bind(this), this._config.interval);
- }
- };
+ /** Used as a reference to the global object. */
+ var root = freeGlobal || freeSelf || Function('return this')();
- _proto.to = function to(index) {
- var _this = this;
+ /** Detect free variable `exports`. */
+ var freeExports = true && exports && !exports.nodeType && exports;
- this._activeElement = this._element.querySelector(SELECTOR_ACTIVE_ITEM);
+ /** Detect free variable `module`. */
+ var freeModule = freeExports && "object" == 'object' && module && !module.nodeType && module;
- var activeIndex = this._getItemIndex(this._activeElement);
+ /** Detect the popular CommonJS extension `module.exports`. */
+ var moduleExports = freeModule && freeModule.exports === freeExports;
- if (index > this._items.length - 1 || index < 0) {
- return;
- }
+ /** Detect free variable `process` from Node.js. */
+ var freeProcess = moduleExports && freeGlobal.process;
- if (this._isSliding) {
- $__default['default'](this._element).one(EVENT_SLID, function () {
- return _this.to(index);
- });
- return;
- }
+ /** Used to access faster Node.js helpers. */
+ var nodeUtil = (function() {
+ try {
+ // Use `util.types` for Node.js 10+.
+ var types = freeModule && freeModule.require && freeModule.require('util').types;
- if (activeIndex === index) {
- this.pause();
- this.cycle();
- return;
+ if (types) {
+ return types;
}
- var direction = index > activeIndex ? DIRECTION_NEXT : DIRECTION_PREV;
-
- this._slide(direction, this._items[index]);
- };
+ // Legacy `process.binding('util')` for Node.js < 10.
+ return freeProcess && freeProcess.binding && freeProcess.binding('util');
+ } catch (e) {}
+ }());
- _proto.dispose = function dispose() {
- $__default['default'](this._element).off(EVENT_KEY$2);
- $__default['default'].removeData(this._element, DATA_KEY$2);
- this._items = null;
- this._config = null;
- this._element = null;
- this._interval = null;
- this._isPaused = null;
- this._isSliding = null;
- this._activeElement = null;
- this._indicatorsElement = null;
- } // Private
- ;
-
- _proto._getConfig = function _getConfig(config) {
- config = _extends({}, Default, config);
- Util.typeCheckConfig(NAME$2, config, DefaultType);
- return config;
- };
+ /* Node.js helper references. */
+ var nodeIsArrayBuffer = nodeUtil && nodeUtil.isArrayBuffer,
+ nodeIsDate = nodeUtil && nodeUtil.isDate,
+ nodeIsMap = nodeUtil && nodeUtil.isMap,
+ nodeIsRegExp = nodeUtil && nodeUtil.isRegExp,
+ nodeIsSet = nodeUtil && nodeUtil.isSet,
+ nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;
- _proto._handleSwipe = function _handleSwipe() {
- var absDeltax = Math.abs(this.touchDeltaX);
+ /*--------------------------------------------------------------------------*/
- if (absDeltax <= SWIPE_THRESHOLD) {
- return;
- }
+ /**
+ * A faster alternative to `Function#apply`, this function invokes `func`
+ * with the `this` binding of `thisArg` and the arguments of `args`.
+ *
+ * @private
+ * @param {Function} func The function to invoke.
+ * @param {*} thisArg The `this` binding of `func`.
+ * @param {Array} args The arguments to invoke `func` with.
+ * @returns {*} Returns the result of `func`.
+ */
+ function apply(func, thisArg, args) {
+ switch (args.length) {
+ case 0: return func.call(thisArg);
+ case 1: return func.call(thisArg, args[0]);
+ case 2: return func.call(thisArg, args[0], args[1]);
+ case 3: return func.call(thisArg, args[0], args[1], args[2]);
+ }
+ return func.apply(thisArg, args);
+ }
- var direction = absDeltax / this.touchDeltaX;
- this.touchDeltaX = 0; // swipe left
+ /**
+ * A specialized version of `baseAggregator` for arrays.
+ *
+ * @private
+ * @param {Array} [array] The array to iterate over.
+ * @param {Function} setter The function to set `accumulator` values.
+ * @param {Function} iteratee The iteratee to transform keys.
+ * @param {Object} accumulator The initial aggregated object.
+ * @returns {Function} Returns `accumulator`.
+ */
+ function arrayAggregator(array, setter, iteratee, accumulator) {
+ var index = -1,
+ length = array == null ? 0 : array.length;
- if (direction > 0) {
- this.prev();
- } // swipe right
+ while (++index < length) {
+ var value = array[index];
+ setter(accumulator, value, iteratee(value), array);
+ }
+ return accumulator;
+ }
+ /**
+ * A specialized version of `_.forEach` for arrays without support for
+ * iteratee shorthands.
+ *
+ * @private
+ * @param {Array} [array] The array to iterate over.
+ * @param {Function} iteratee The function invoked per iteration.
+ * @returns {Array} Returns `array`.
+ */
+ function arrayEach(array, iteratee) {
+ var index = -1,
+ length = array == null ? 0 : array.length;
- if (direction < 0) {
- this.next();
+ while (++index < length) {
+ if (iteratee(array[index], index, array) === false) {
+ break;
}
- };
+ }
+ return array;
+ }
- _proto._addEventListeners = function _addEventListeners() {
- var _this2 = this;
+ /**
+ * A specialized version of `_.forEachRight` for arrays without support for
+ * iteratee shorthands.
+ *
+ * @private
+ * @param {Array} [array] The array to iterate over.
+ * @param {Function} iteratee The function invoked per iteration.
+ * @returns {Array} Returns `array`.
+ */
+ function arrayEachRight(array, iteratee) {
+ var length = array == null ? 0 : array.length;
- if (this._config.keyboard) {
- $__default['default'](this._element).on(EVENT_KEYDOWN, function (event) {
- return _this2._keydown(event);
- });
+ while (length--) {
+ if (iteratee(array[length], length, array) === false) {
+ break;
}
+ }
+ return array;
+ }
- if (this._config.pause === 'hover') {
- $__default['default'](this._element).on(EVENT_MOUSEENTER, function (event) {
- return _this2.pause(event);
- }).on(EVENT_MOUSELEAVE, function (event) {
- return _this2.cycle(event);
- });
- }
+ /**
+ * A specialized version of `_.every` for arrays without support for
+ * iteratee shorthands.
+ *
+ * @private
+ * @param {Array} [array] The array to iterate over.
+ * @param {Function} predicate The function invoked per iteration.
+ * @returns {boolean} Returns `true` if all elements pass the predicate check,
+ * else `false`.
+ */
+ function arrayEvery(array, predicate) {
+ var index = -1,
+ length = array == null ? 0 : array.length;
- if (this._config.touch) {
- this._addTouchEventListeners();
+ while (++index < length) {
+ if (!predicate(array[index], index, array)) {
+ return false;
}
- };
+ }
+ return true;
+ }
- _proto._addTouchEventListeners = function _addTouchEventListeners() {
- var _this3 = this;
+ /**
+ * A specialized version of `_.filter` for arrays without support for
+ * iteratee shorthands.
+ *
+ * @private
+ * @param {Array} [array] The array to iterate over.
+ * @param {Function} predicate The function invoked per iteration.
+ * @returns {Array} Returns the new filtered array.
+ */
+ function arrayFilter(array, predicate) {
+ var index = -1,
+ length = array == null ? 0 : array.length,
+ resIndex = 0,
+ result = [];
- if (!this._touchSupported) {
- return;
- }
-
- var start = function start(event) {
- if (_this3._pointerEvent && PointerType[event.originalEvent.pointerType.toUpperCase()]) {
- _this3.touchStartX = event.originalEvent.clientX;
- } else if (!_this3._pointerEvent) {
- _this3.touchStartX = event.originalEvent.touches[0].clientX;
- }
- };
-
- var move = function move(event) {
- // ensure swiping with one touch and not pinching
- if (event.originalEvent.touches && event.originalEvent.touches.length > 1) {
- _this3.touchDeltaX = 0;
- } else {
- _this3.touchDeltaX = event.originalEvent.touches[0].clientX - _this3.touchStartX;
- }
- };
-
- var end = function end(event) {
- if (_this3._pointerEvent && PointerType[event.originalEvent.pointerType.toUpperCase()]) {
- _this3.touchDeltaX = event.originalEvent.clientX - _this3.touchStartX;
- }
-
- _this3._handleSwipe();
-
- if (_this3._config.pause === 'hover') {
- // If it's a touch-enabled device, mouseenter/leave are fired as
- // part of the mouse compatibility events on first tap - the carousel
- // would stop cycling until user tapped out of it;
- // here, we listen for touchend, explicitly pause the carousel
- // (as if it's the second time we tap on it, mouseenter compat event
- // is NOT fired) and after a timeout (to allow for mouse compatibility
- // events to fire) we explicitly restart cycling
- _this3.pause();
-
- if (_this3.touchTimeout) {
- clearTimeout(_this3.touchTimeout);
- }
-
- _this3.touchTimeout = setTimeout(function (event) {
- return _this3.cycle(event);
- }, TOUCHEVENT_COMPAT_WAIT + _this3._config.interval);
- }
- };
-
- $__default['default'](this._element.querySelectorAll(SELECTOR_ITEM_IMG)).on(EVENT_DRAG_START, function (e) {
- return e.preventDefault();
- });
-
- if (this._pointerEvent) {
- $__default['default'](this._element).on(EVENT_POINTERDOWN, function (event) {
- return start(event);
- });
- $__default['default'](this._element).on(EVENT_POINTERUP, function (event) {
- return end(event);
- });
-
- this._element.classList.add(CLASS_NAME_POINTER_EVENT);
- } else {
- $__default['default'](this._element).on(EVENT_TOUCHSTART, function (event) {
- return start(event);
- });
- $__default['default'](this._element).on(EVENT_TOUCHMOVE, function (event) {
- return move(event);
- });
- $__default['default'](this._element).on(EVENT_TOUCHEND, function (event) {
- return end(event);
- });
+ while (++index < length) {
+ var value = array[index];
+ if (predicate(value, index, array)) {
+ result[resIndex++] = value;
}
- };
+ }
+ return result;
+ }
- _proto._keydown = function _keydown(event) {
- if (/input|textarea/i.test(event.target.tagName)) {
- return;
- }
+ /**
+ * A specialized version of `_.includes` for arrays without support for
+ * specifying an index to search from.
+ *
+ * @private
+ * @param {Array} [array] The array to inspect.
+ * @param {*} target The value to search for.
+ * @returns {boolean} Returns `true` if `target` is found, else `false`.
+ */
+ function arrayIncludes(array, value) {
+ var length = array == null ? 0 : array.length;
+ return !!length && baseIndexOf(array, value, 0) > -1;
+ }
- switch (event.which) {
- case ARROW_LEFT_KEYCODE:
- event.preventDefault();
- this.prev();
- break;
+ /**
+ * This function is like `arrayIncludes` except that it accepts a comparator.
+ *
+ * @private
+ * @param {Array} [array] The array to inspect.
+ * @param {*} target The value to search for.
+ * @param {Function} comparator The comparator invoked per element.
+ * @returns {boolean} Returns `true` if `target` is found, else `false`.
+ */
+ function arrayIncludesWith(array, value, comparator) {
+ var index = -1,
+ length = array == null ? 0 : array.length;
- case ARROW_RIGHT_KEYCODE:
- event.preventDefault();
- this.next();
- break;
+ while (++index < length) {
+ if (comparator(value, array[index])) {
+ return true;
}
- };
-
- _proto._getItemIndex = function _getItemIndex(element) {
- this._items = element && element.parentNode ? [].slice.call(element.parentNode.querySelectorAll(SELECTOR_ITEM)) : [];
- return this._items.indexOf(element);
- };
-
- _proto._getItemByDirection = function _getItemByDirection(direction, activeElement) {
- var isNextDirection = direction === DIRECTION_NEXT;
- var isPrevDirection = direction === DIRECTION_PREV;
-
- var activeIndex = this._getItemIndex(activeElement);
+ }
+ return false;
+ }
- var lastItemIndex = this._items.length - 1;
- var isGoingToWrap = isPrevDirection && activeIndex === 0 || isNextDirection && activeIndex === lastItemIndex;
+ /**
+ * A specialized version of `_.map` for arrays without support for iteratee
+ * shorthands.
+ *
+ * @private
+ * @param {Array} [array] The array to iterate over.
+ * @param {Function} iteratee The function invoked per iteration.
+ * @returns {Array} Returns the new mapped array.
+ */
+ function arrayMap(array, iteratee) {
+ var index = -1,
+ length = array == null ? 0 : array.length,
+ result = Array(length);
- if (isGoingToWrap && !this._config.wrap) {
- return activeElement;
- }
+ while (++index < length) {
+ result[index] = iteratee(array[index], index, array);
+ }
+ return result;
+ }
- var delta = direction === DIRECTION_PREV ? -1 : 1;
- var itemIndex = (activeIndex + delta) % this._items.length;
- return itemIndex === -1 ? this._items[this._items.length - 1] : this._items[itemIndex];
- };
+ /**
+ * Appends the elements of `values` to `array`.
+ *
+ * @private
+ * @param {Array} array The array to modify.
+ * @param {Array} values The values to append.
+ * @returns {Array} Returns `array`.
+ */
+ function arrayPush(array, values) {
+ var index = -1,
+ length = values.length,
+ offset = array.length;
- _proto._triggerSlideEvent = function _triggerSlideEvent(relatedTarget, eventDirectionName) {
- var targetIndex = this._getItemIndex(relatedTarget);
+ while (++index < length) {
+ array[offset + index] = values[index];
+ }
+ return array;
+ }
- var fromIndex = this._getItemIndex(this._element.querySelector(SELECTOR_ACTIVE_ITEM));
+ /**
+ * A specialized version of `_.reduce` for arrays without support for
+ * iteratee shorthands.
+ *
+ * @private
+ * @param {Array} [array] The array to iterate over.
+ * @param {Function} iteratee The function invoked per iteration.
+ * @param {*} [accumulator] The initial value.
+ * @param {boolean} [initAccum] Specify using the first element of `array` as
+ * the initial value.
+ * @returns {*} Returns the accumulated value.
+ */
+ function arrayReduce(array, iteratee, accumulator, initAccum) {
+ var index = -1,
+ length = array == null ? 0 : array.length;
- var slideEvent = $__default['default'].Event(EVENT_SLIDE, {
- relatedTarget: relatedTarget,
- direction: eventDirectionName,
- from: fromIndex,
- to: targetIndex
- });
- $__default['default'](this._element).trigger(slideEvent);
- return slideEvent;
- };
+ if (initAccum && length) {
+ accumulator = array[++index];
+ }
+ while (++index < length) {
+ accumulator = iteratee(accumulator, array[index], index, array);
+ }
+ return accumulator;
+ }
- _proto._setActiveIndicatorElement = function _setActiveIndicatorElement(element) {
- if (this._indicatorsElement) {
- var indicators = [].slice.call(this._indicatorsElement.querySelectorAll(SELECTOR_ACTIVE$1));
- $__default['default'](indicators).removeClass(CLASS_NAME_ACTIVE$1);
+ /**
+ * A specialized version of `_.reduceRight` for arrays without support for
+ * iteratee shorthands.
+ *
+ * @private
+ * @param {Array} [array] The array to iterate over.
+ * @param {Function} iteratee The function invoked per iteration.
+ * @param {*} [accumulator] The initial value.
+ * @param {boolean} [initAccum] Specify using the last element of `array` as
+ * the initial value.
+ * @returns {*} Returns the accumulated value.
+ */
+ function arrayReduceRight(array, iteratee, accumulator, initAccum) {
+ var length = array == null ? 0 : array.length;
+ if (initAccum && length) {
+ accumulator = array[--length];
+ }
+ while (length--) {
+ accumulator = iteratee(accumulator, array[length], length, array);
+ }
+ return accumulator;
+ }
- var nextIndicator = this._indicatorsElement.children[this._getItemIndex(element)];
+ /**
+ * A specialized version of `_.some` for arrays without support for iteratee
+ * shorthands.
+ *
+ * @private
+ * @param {Array} [array] The array to iterate over.
+ * @param {Function} predicate The function invoked per iteration.
+ * @returns {boolean} Returns `true` if any element passes the predicate check,
+ * else `false`.
+ */
+ function arraySome(array, predicate) {
+ var index = -1,
+ length = array == null ? 0 : array.length;
- if (nextIndicator) {
- $__default['default'](nextIndicator).addClass(CLASS_NAME_ACTIVE$1);
- }
+ while (++index < length) {
+ if (predicate(array[index], index, array)) {
+ return true;
}
- };
-
- _proto._slide = function _slide(direction, element) {
- var _this4 = this;
-
- var activeElement = this._element.querySelector(SELECTOR_ACTIVE_ITEM);
-
- var activeElementIndex = this._getItemIndex(activeElement);
-
- var nextElement = element || activeElement && this._getItemByDirection(direction, activeElement);
+ }
+ return false;
+ }
- var nextElementIndex = this._getItemIndex(nextElement);
+ /**
+ * Gets the size of an ASCII `string`.
+ *
+ * @private
+ * @param {string} string The string inspect.
+ * @returns {number} Returns the string size.
+ */
+ var asciiSize = baseProperty('length');
- var isCycling = Boolean(this._interval);
- var directionalClassName;
- var orderClassName;
- var eventDirectionName;
+ /**
+ * Converts an ASCII `string` to an array.
+ *
+ * @private
+ * @param {string} string The string to convert.
+ * @returns {Array} Returns the converted array.
+ */
+ function asciiToArray(string) {
+ return string.split('');
+ }
- if (direction === DIRECTION_NEXT) {
- directionalClassName = CLASS_NAME_LEFT;
- orderClassName = CLASS_NAME_NEXT;
- eventDirectionName = DIRECTION_LEFT;
- } else {
- directionalClassName = CLASS_NAME_RIGHT;
- orderClassName = CLASS_NAME_PREV;
- eventDirectionName = DIRECTION_RIGHT;
- }
+ /**
+ * Splits an ASCII `string` into an array of its words.
+ *
+ * @private
+ * @param {string} The string to inspect.
+ * @returns {Array} Returns the words of `string`.
+ */
+ function asciiWords(string) {
+ return string.match(reAsciiWord) || [];
+ }
- if (nextElement && $__default['default'](nextElement).hasClass(CLASS_NAME_ACTIVE$1)) {
- this._isSliding = false;
- return;
+ /**
+ * The base implementation of methods like `_.findKey` and `_.findLastKey`,
+ * without support for iteratee shorthands, which iterates over `collection`
+ * using `eachFunc`.
+ *
+ * @private
+ * @param {Array|Object} collection The collection to inspect.
+ * @param {Function} predicate The function invoked per iteration.
+ * @param {Function} eachFunc The function to iterate over `collection`.
+ * @returns {*} Returns the found element or its key, else `undefined`.
+ */
+ function baseFindKey(collection, predicate, eachFunc) {
+ var result;
+ eachFunc(collection, function(value, key, collection) {
+ if (predicate(value, key, collection)) {
+ result = key;
+ return false;
}
+ });
+ return result;
+ }
- var slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName);
+ /**
+ * The base implementation of `_.findIndex` and `_.findLastIndex` without
+ * support for iteratee shorthands.
+ *
+ * @private
+ * @param {Array} array The array to inspect.
+ * @param {Function} predicate The function invoked per iteration.
+ * @param {number} fromIndex The index to search from.
+ * @param {boolean} [fromRight] Specify iterating from right to left.
+ * @returns {number} Returns the index of the matched value, else `-1`.
+ */
+ function baseFindIndex(array, predicate, fromIndex, fromRight) {
+ var length = array.length,
+ index = fromIndex + (fromRight ? 1 : -1);
- if (slideEvent.isDefaultPrevented()) {
- return;
+ while ((fromRight ? index-- : ++index < length)) {
+ if (predicate(array[index], index, array)) {
+ return index;
}
+ }
+ return -1;
+ }
- if (!activeElement || !nextElement) {
- // Some weirdness is happening, so we bail
- return;
- }
-
- this._isSliding = true;
-
- if (isCycling) {
- this.pause();
- }
-
- this._setActiveIndicatorElement(nextElement);
-
- var slidEvent = $__default['default'].Event(EVENT_SLID, {
- relatedTarget: nextElement,
- direction: eventDirectionName,
- from: activeElementIndex,
- to: nextElementIndex
- });
-
- if ($__default['default'](this._element).hasClass(CLASS_NAME_SLIDE)) {
- $__default['default'](nextElement).addClass(orderClassName);
- Util.reflow(nextElement);
- $__default['default'](activeElement).addClass(directionalClassName);
- $__default['default'](nextElement).addClass(directionalClassName);
- var nextElementInterval = parseInt(nextElement.getAttribute('data-interval'), 10);
-
- if (nextElementInterval) {
- this._config.defaultInterval = this._config.defaultInterval || this._config.interval;
- this._config.interval = nextElementInterval;
- } else {
- this._config.interval = this._config.defaultInterval || this._config.interval;
- }
+ /**
+ * The base implementation of `_.indexOf` without `fromIndex` bounds checks.
+ *
+ * @private
+ * @param {Array} array The array to inspect.
+ * @param {*} value The value to search for.
+ * @param {number} fromIndex The index to search from.
+ * @returns {number} Returns the index of the matched value, else `-1`.
+ */
+ function baseIndexOf(array, value, fromIndex) {
+ return value === value
+ ? strictIndexOf(array, value, fromIndex)
+ : baseFindIndex(array, baseIsNaN, fromIndex);
+ }
- var transitionDuration = Util.getTransitionDurationFromElement(activeElement);
- $__default['default'](activeElement).one(Util.TRANSITION_END, function () {
- $__default['default'](nextElement).removeClass(directionalClassName + " " + orderClassName).addClass(CLASS_NAME_ACTIVE$1);
- $__default['default'](activeElement).removeClass(CLASS_NAME_ACTIVE$1 + " " + orderClassName + " " + directionalClassName);
- _this4._isSliding = false;
- setTimeout(function () {
- return $__default['default'](_this4._element).trigger(slidEvent);
- }, 0);
- }).emulateTransitionEnd(transitionDuration);
- } else {
- $__default['default'](activeElement).removeClass(CLASS_NAME_ACTIVE$1);
- $__default['default'](nextElement).addClass(CLASS_NAME_ACTIVE$1);
- this._isSliding = false;
- $__default['default'](this._element).trigger(slidEvent);
- }
+ /**
+ * This function is like `baseIndexOf` except that it accepts a comparator.
+ *
+ * @private
+ * @param {Array} array The array to inspect.
+ * @param {*} value The value to search for.
+ * @param {number} fromIndex The index to search from.
+ * @param {Function} comparator The comparator invoked per element.
+ * @returns {number} Returns the index of the matched value, else `-1`.
+ */
+ function baseIndexOfWith(array, value, fromIndex, comparator) {
+ var index = fromIndex - 1,
+ length = array.length;
- if (isCycling) {
- this.cycle();
+ while (++index < length) {
+ if (comparator(array[index], value)) {
+ return index;
}
- } // Static
- ;
-
- Carousel._jQueryInterface = function _jQueryInterface(config) {
- return this.each(function () {
- var data = $__default['default'](this).data(DATA_KEY$2);
-
- var _config = _extends({}, Default, $__default['default'](this).data());
-
- if (typeof config === 'object') {
- _config = _extends({}, _config, config);
- }
-
- var action = typeof config === 'string' ? config : _config.slide;
+ }
+ return -1;
+ }
- if (!data) {
- data = new Carousel(this, _config);
- $__default['default'](this).data(DATA_KEY$2, data);
- }
+ /**
+ * The base implementation of `_.isNaN` without support for number objects.
+ *
+ * @private
+ * @param {*} value The value to check.
+ * @returns {boolean} Returns `true` if `value` is `NaN`, else `false`.
+ */
+ function baseIsNaN(value) {
+ return value !== value;
+ }
- if (typeof config === 'number') {
- data.to(config);
- } else if (typeof action === 'string') {
- if (typeof data[action] === 'undefined') {
- throw new TypeError("No method named \"" + action + "\"");
- }
+ /**
+ * The base implementation of `_.mean` and `_.meanBy` without support for
+ * iteratee shorthands.
+ *
+ * @private
+ * @param {Array} array The array to iterate over.
+ * @param {Function} iteratee The function invoked per iteration.
+ * @returns {number} Returns the mean.
+ */
+ function baseMean(array, iteratee) {
+ var length = array == null ? 0 : array.length;
+ return length ? (baseSum(array, iteratee) / length) : NAN;
+ }
- data[action]();
- } else if (_config.interval && _config.ride) {
- data.pause();
- data.cycle();
- }
- });
+ /**
+ * The base implementation of `_.property` without support for deep paths.
+ *
+ * @private
+ * @param {string} key The key of the property to get.
+ * @returns {Function} Returns the new accessor function.
+ */
+ function baseProperty(key) {
+ return function(object) {
+ return object == null ? undefined : object[key];
};
+ }
- Carousel._dataApiClickHandler = function _dataApiClickHandler(event) {
- var selector = Util.getSelectorFromElement(this);
-
- if (!selector) {
- return;
- }
-
- var target = $__default['default'](selector)[0];
-
- if (!target || !$__default['default'](target).hasClass(CLASS_NAME_CAROUSEL)) {
- return;
- }
-
- var config = _extends({}, $__default['default'](target).data(), $__default['default'](this).data());
-
- var slideIndex = this.getAttribute('data-slide-to');
-
- if (slideIndex) {
- config.interval = false;
- }
-
- Carousel._jQueryInterface.call($__default['default'](target), config);
-
- if (slideIndex) {
- $__default['default'](target).data(DATA_KEY$2).to(slideIndex);
- }
-
- event.preventDefault();
+ /**
+ * The base implementation of `_.propertyOf` without support for deep paths.
+ *
+ * @private
+ * @param {Object} object The object to query.
+ * @returns {Function} Returns the new accessor function.
+ */
+ function basePropertyOf(object) {
+ return function(key) {
+ return object == null ? undefined : object[key];
};
+ }
- _createClass(Carousel, null, [{
- key: "VERSION",
- get: function get() {
- return VERSION$2;
- }
- }, {
- key: "Default",
- get: function get() {
- return Default;
- }
- }]);
-
- return Carousel;
- }();
/**
- * ------------------------------------------------------------------------
- * Data Api implementation
- * ------------------------------------------------------------------------
+ * The base implementation of `_.reduce` and `_.reduceRight`, without support
+ * for iteratee shorthands, which iterates over `collection` using `eachFunc`.
+ *
+ * @private
+ * @param {Array|Object} collection The collection to iterate over.
+ * @param {Function} iteratee The function invoked per iteration.
+ * @param {*} accumulator The initial value.
+ * @param {boolean} initAccum Specify using the first or last element of
+ * `collection` as the initial value.
+ * @param {Function} eachFunc The function to iterate over `collection`.
+ * @returns {*} Returns the accumulated value.
*/
+ function baseReduce(collection, iteratee, accumulator, initAccum, eachFunc) {
+ eachFunc(collection, function(value, index, collection) {
+ accumulator = initAccum
+ ? (initAccum = false, value)
+ : iteratee(accumulator, value, index, collection);
+ });
+ return accumulator;
+ }
+ /**
+ * The base implementation of `_.sortBy` which uses `comparer` to define the
+ * sort order of `array` and replaces criteria objects with their corresponding
+ * values.
+ *
+ * @private
+ * @param {Array} array The array to sort.
+ * @param {Function} comparer The function to define sort order.
+ * @returns {Array} Returns `array`.
+ */
+ function baseSortBy(array, comparer) {
+ var length = array.length;
- $__default['default'](document).on(EVENT_CLICK_DATA_API$2, SELECTOR_DATA_SLIDE, Carousel._dataApiClickHandler);
- $__default['default'](window).on(EVENT_LOAD_DATA_API$1, function () {
- var carousels = [].slice.call(document.querySelectorAll(SELECTOR_DATA_RIDE));
+ array.sort(comparer);
+ while (length--) {
+ array[length] = array[length].value;
+ }
+ return array;
+ }
- for (var i = 0, len = carousels.length; i < len; i++) {
- var $carousel = $__default['default'](carousels[i]);
+ /**
+ * The base implementation of `_.sum` and `_.sumBy` without support for
+ * iteratee shorthands.
+ *
+ * @private
+ * @param {Array} array The array to iterate over.
+ * @param {Function} iteratee The function invoked per iteration.
+ * @returns {number} Returns the sum.
+ */
+ function baseSum(array, iteratee) {
+ var result,
+ index = -1,
+ length = array.length;
- Carousel._jQueryInterface.call($carousel, $carousel.data());
+ while (++index < length) {
+ var current = iteratee(array[index]);
+ if (current !== undefined) {
+ result = result === undefined ? current : (result + current);
+ }
}
- });
+ return result;
+ }
+
/**
- * ------------------------------------------------------------------------
- * jQuery
- * ------------------------------------------------------------------------
+ * The base implementation of `_.times` without support for iteratee shorthands
+ * or max array length checks.
+ *
+ * @private
+ * @param {number} n The number of times to invoke `iteratee`.
+ * @param {Function} iteratee The function invoked per iteration.
+ * @returns {Array} Returns the array of results.
*/
+ function baseTimes(n, iteratee) {
+ var index = -1,
+ result = Array(n);
- $__default['default'].fn[NAME$2] = Carousel._jQueryInterface;
- $__default['default'].fn[NAME$2].Constructor = Carousel;
+ while (++index < n) {
+ result[index] = iteratee(index);
+ }
+ return result;
+ }
- $__default['default'].fn[NAME$2].noConflict = function () {
- $__default['default'].fn[NAME$2] = JQUERY_NO_CONFLICT$2;
- return Carousel._jQueryInterface;
- };
+ /**
+ * The base implementation of `_.toPairs` and `_.toPairsIn` which creates an array
+ * of key-value pairs for `object` corresponding to the property names of `props`.
+ *
+ * @private
+ * @param {Object} object The object to query.
+ * @param {Array} props The property names to get values for.
+ * @returns {Object} Returns the key-value pairs.
+ */
+ function baseToPairs(object, props) {
+ return arrayMap(props, function(key) {
+ return [key, object[key]];
+ });
+ }
/**
- * ------------------------------------------------------------------------
- * Constants
- * ------------------------------------------------------------------------
+ * The base implementation of `_.unary` without support for storing metadata.
+ *
+ * @private
+ * @param {Function} func The function to cap arguments for.
+ * @returns {Function} Returns the new capped function.
*/
+ function baseUnary(func) {
+ return function(value) {
+ return func(value);
+ };
+ }
- var NAME$3 = 'collapse';
- var VERSION$3 = '4.5.3';
- var DATA_KEY$3 = 'bs.collapse';
- var EVENT_KEY$3 = "." + DATA_KEY$3;
- var DATA_API_KEY$3 = '.data-api';
- var JQUERY_NO_CONFLICT$3 = $__default['default'].fn[NAME$3];
- var Default$1 = {
- toggle: true,
- parent: ''
- };
- var DefaultType$1 = {
- toggle: 'boolean',
- parent: '(string|element)'
- };
- var EVENT_SHOW = "show" + EVENT_KEY$3;
- var EVENT_SHOWN = "shown" + EVENT_KEY$3;
- var EVENT_HIDE = "hide" + EVENT_KEY$3;
- var EVENT_HIDDEN = "hidden" + EVENT_KEY$3;
- var EVENT_CLICK_DATA_API$3 = "click" + EVENT_KEY$3 + DATA_API_KEY$3;
- var CLASS_NAME_SHOW$1 = 'show';
- var CLASS_NAME_COLLAPSE = 'collapse';
- var CLASS_NAME_COLLAPSING = 'collapsing';
- var CLASS_NAME_COLLAPSED = 'collapsed';
- var DIMENSION_WIDTH = 'width';
- var DIMENSION_HEIGHT = 'height';
- var SELECTOR_ACTIVES = '.show, .collapsing';
- var SELECTOR_DATA_TOGGLE$1 = '[data-toggle="collapse"]';
/**
- * ------------------------------------------------------------------------
- * Class Definition
- * ------------------------------------------------------------------------
+ * The base implementation of `_.values` and `_.valuesIn` which creates an
+ * array of `object` property values corresponding to the property names
+ * of `props`.
+ *
+ * @private
+ * @param {Object} object The object to query.
+ * @param {Array} props The property names to get values for.
+ * @returns {Object} Returns the array of property values.
*/
+ function baseValues(object, props) {
+ return arrayMap(props, function(key) {
+ return object[key];
+ });
+ }
- var Collapse = /*#__PURE__*/function () {
- function Collapse(element, config) {
- this._isTransitioning = false;
- this._element = element;
- this._config = this._getConfig(config);
- this._triggerArray = [].slice.call(document.querySelectorAll("[data-toggle=\"collapse\"][href=\"#" + element.id + "\"]," + ("[data-toggle=\"collapse\"][data-target=\"#" + element.id + "\"]")));
- var toggleList = [].slice.call(document.querySelectorAll(SELECTOR_DATA_TOGGLE$1));
-
- for (var i = 0, len = toggleList.length; i < len; i++) {
- var elem = toggleList[i];
- var selector = Util.getSelectorFromElement(elem);
- var filterElement = [].slice.call(document.querySelectorAll(selector)).filter(function (foundElem) {
- return foundElem === element;
- });
+ /**
+ * Checks if a `cache` value for `key` exists.
+ *
+ * @private
+ * @param {Object} cache The cache to query.
+ * @param {string} key The key of the entry to check.
+ * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.
+ */
+ function cacheHas(cache, key) {
+ return cache.has(key);
+ }
- if (selector !== null && filterElement.length > 0) {
- this._selector = selector;
-
- this._triggerArray.push(elem);
- }
- }
-
- this._parent = this._config.parent ? this._getParent() : null;
-
- if (!this._config.parent) {
- this._addAriaAndCollapsedClass(this._element, this._triggerArray);
- }
-
- if (this._config.toggle) {
- this.toggle();
- }
- } // Getters
+ /**
+ * Used by `_.trim` and `_.trimStart` to get the index of the first string symbol
+ * that is not found in the character symbols.
+ *
+ * @private
+ * @param {Array} strSymbols The string symbols to inspect.
+ * @param {Array} chrSymbols The character symbols to find.
+ * @returns {number} Returns the index of the first unmatched string symbol.
+ */
+ function charsStartIndex(strSymbols, chrSymbols) {
+ var index = -1,
+ length = strSymbols.length;
+ while (++index < length && baseIndexOf(chrSymbols, strSymbols[index], 0) > -1) {}
+ return index;
+ }
- var _proto = Collapse.prototype;
+ /**
+ * Used by `_.trim` and `_.trimEnd` to get the index of the last string symbol
+ * that is not found in the character symbols.
+ *
+ * @private
+ * @param {Array} strSymbols The string symbols to inspect.
+ * @param {Array} chrSymbols The character symbols to find.
+ * @returns {number} Returns the index of the last unmatched string symbol.
+ */
+ function charsEndIndex(strSymbols, chrSymbols) {
+ var index = strSymbols.length;
- // Public
- _proto.toggle = function toggle() {
- if ($__default['default'](this._element).hasClass(CLASS_NAME_SHOW$1)) {
- this.hide();
- } else {
- this.show();
- }
- };
+ while (index-- && baseIndexOf(chrSymbols, strSymbols[index], 0) > -1) {}
+ return index;
+ }
- _proto.show = function show() {
- var _this = this;
+ /**
+ * Gets the number of `placeholder` occurrences in `array`.
+ *
+ * @private
+ * @param {Array} array The array to inspect.
+ * @param {*} placeholder The placeholder to search for.
+ * @returns {number} Returns the placeholder count.
+ */
+ function countHolders(array, placeholder) {
+ var length = array.length,
+ result = 0;
- if (this._isTransitioning || $__default['default'](this._element).hasClass(CLASS_NAME_SHOW$1)) {
- return;
+ while (length--) {
+ if (array[length] === placeholder) {
+ ++result;
}
+ }
+ return result;
+ }
- var actives;
- var activesData;
+ /**
+ * Used by `_.deburr` to convert Latin-1 Supplement and Latin Extended-A
+ * letters to basic Latin letters.
+ *
+ * @private
+ * @param {string} letter The matched letter to deburr.
+ * @returns {string} Returns the deburred letter.
+ */
+ var deburrLetter = basePropertyOf(deburredLetters);
- if (this._parent) {
- actives = [].slice.call(this._parent.querySelectorAll(SELECTOR_ACTIVES)).filter(function (elem) {
- if (typeof _this._config.parent === 'string') {
- return elem.getAttribute('data-parent') === _this._config.parent;
- }
+ /**
+ * Used by `_.escape` to convert characters to HTML entities.
+ *
+ * @private
+ * @param {string} chr The matched character to escape.
+ * @returns {string} Returns the escaped character.
+ */
+ var escapeHtmlChar = basePropertyOf(htmlEscapes);
- return elem.classList.contains(CLASS_NAME_COLLAPSE);
- });
+ /**
+ * Used by `_.template` to escape characters for inclusion in compiled string literals.
+ *
+ * @private
+ * @param {string} chr The matched character to escape.
+ * @returns {string} Returns the escaped character.
+ */
+ function escapeStringChar(chr) {
+ return '\\' + stringEscapes[chr];
+ }
- if (actives.length === 0) {
- actives = null;
- }
- }
+ /**
+ * Gets the value at `key` of `object`.
+ *
+ * @private
+ * @param {Object} [object] The object to query.
+ * @param {string} key The key of the property to get.
+ * @returns {*} Returns the property value.
+ */
+ function getValue(object, key) {
+ return object == null ? undefined : object[key];
+ }
- if (actives) {
- activesData = $__default['default'](actives).not(this._selector).data(DATA_KEY$3);
+ /**
+ * Checks if `string` contains Unicode symbols.
+ *
+ * @private
+ * @param {string} string The string to inspect.
+ * @returns {boolean} Returns `true` if a symbol is found, else `false`.
+ */
+ function hasUnicode(string) {
+ return reHasUnicode.test(string);
+ }
- if (activesData && activesData._isTransitioning) {
- return;
- }
- }
+ /**
+ * Checks if `string` contains a word composed of Unicode symbols.
+ *
+ * @private
+ * @param {string} string The string to inspect.
+ * @returns {boolean} Returns `true` if a word is found, else `false`.
+ */
+ function hasUnicodeWord(string) {
+ return reHasUnicodeWord.test(string);
+ }
- var startEvent = $__default['default'].Event(EVENT_SHOW);
- $__default['default'](this._element).trigger(startEvent);
+ /**
+ * Converts `iterator` to an array.
+ *
+ * @private
+ * @param {Object} iterator The iterator to convert.
+ * @returns {Array} Returns the converted array.
+ */
+ function iteratorToArray(iterator) {
+ var data,
+ result = [];
- if (startEvent.isDefaultPrevented()) {
- return;
- }
+ while (!(data = iterator.next()).done) {
+ result.push(data.value);
+ }
+ return result;
+ }
- if (actives) {
- Collapse._jQueryInterface.call($__default['default'](actives).not(this._selector), 'hide');
+ /**
+ * Converts `map` to its key-value pairs.
+ *
+ * @private
+ * @param {Object} map The map to convert.
+ * @returns {Array} Returns the key-value pairs.
+ */
+ function mapToArray(map) {
+ var index = -1,
+ result = Array(map.size);
- if (!activesData) {
- $__default['default'](actives).data(DATA_KEY$3, null);
- }
- }
+ map.forEach(function(value, key) {
+ result[++index] = [key, value];
+ });
+ return result;
+ }
- var dimension = this._getDimension();
+ /**
+ * Creates a unary function that invokes `func` with its argument transformed.
+ *
+ * @private
+ * @param {Function} func The function to wrap.
+ * @param {Function} transform The argument transform.
+ * @returns {Function} Returns the new function.
+ */
+ function overArg(func, transform) {
+ return function(arg) {
+ return func(transform(arg));
+ };
+ }
- $__default['default'](this._element).removeClass(CLASS_NAME_COLLAPSE).addClass(CLASS_NAME_COLLAPSING);
- this._element.style[dimension] = 0;
+ /**
+ * Replaces all `placeholder` elements in `array` with an internal placeholder
+ * and returns an array of their indexes.
+ *
+ * @private
+ * @param {Array} array The array to modify.
+ * @param {*} placeholder The placeholder to replace.
+ * @returns {Array} Returns the new array of placeholder indexes.
+ */
+ function replaceHolders(array, placeholder) {
+ var index = -1,
+ length = array.length,
+ resIndex = 0,
+ result = [];
- if (this._triggerArray.length) {
- $__default['default'](this._triggerArray).removeClass(CLASS_NAME_COLLAPSED).attr('aria-expanded', true);
+ while (++index < length) {
+ var value = array[index];
+ if (value === placeholder || value === PLACEHOLDER) {
+ array[index] = PLACEHOLDER;
+ result[resIndex++] = index;
}
+ }
+ return result;
+ }
- this.setTransitioning(true);
-
- var complete = function complete() {
- $__default['default'](_this._element).removeClass(CLASS_NAME_COLLAPSING).addClass(CLASS_NAME_COLLAPSE + " " + CLASS_NAME_SHOW$1);
- _this._element.style[dimension] = '';
+ /**
+ * Converts `set` to an array of its values.
+ *
+ * @private
+ * @param {Object} set The set to convert.
+ * @returns {Array} Returns the values.
+ */
+ function setToArray(set) {
+ var index = -1,
+ result = Array(set.size);
- _this.setTransitioning(false);
+ set.forEach(function(value) {
+ result[++index] = value;
+ });
+ return result;
+ }
- $__default['default'](_this._element).trigger(EVENT_SHOWN);
- };
+ /**
+ * Converts `set` to its value-value pairs.
+ *
+ * @private
+ * @param {Object} set The set to convert.
+ * @returns {Array} Returns the value-value pairs.
+ */
+ function setToPairs(set) {
+ var index = -1,
+ result = Array(set.size);
- var capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1);
- var scrollSize = "scroll" + capitalizedDimension;
- var transitionDuration = Util.getTransitionDurationFromElement(this._element);
- $__default['default'](this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);
- this._element.style[dimension] = this._element[scrollSize] + "px";
- };
+ set.forEach(function(value) {
+ result[++index] = [value, value];
+ });
+ return result;
+ }
- _proto.hide = function hide() {
- var _this2 = this;
+ /**
+ * A specialized version of `_.indexOf` which performs strict equality
+ * comparisons of values, i.e. `===`.
+ *
+ * @private
+ * @param {Array} array The array to inspect.
+ * @param {*} value The value to search for.
+ * @param {number} fromIndex The index to search from.
+ * @returns {number} Returns the index of the matched value, else `-1`.
+ */
+ function strictIndexOf(array, value, fromIndex) {
+ var index = fromIndex - 1,
+ length = array.length;
- if (this._isTransitioning || !$__default['default'](this._element).hasClass(CLASS_NAME_SHOW$1)) {
- return;
+ while (++index < length) {
+ if (array[index] === value) {
+ return index;
}
+ }
+ return -1;
+ }
- var startEvent = $__default['default'].Event(EVENT_HIDE);
- $__default['default'](this._element).trigger(startEvent);
-
- if (startEvent.isDefaultPrevented()) {
- return;
+ /**
+ * A specialized version of `_.lastIndexOf` which performs strict equality
+ * comparisons of values, i.e. `===`.
+ *
+ * @private
+ * @param {Array} array The array to inspect.
+ * @param {*} value The value to search for.
+ * @param {number} fromIndex The index to search from.
+ * @returns {number} Returns the index of the matched value, else `-1`.
+ */
+ function strictLastIndexOf(array, value, fromIndex) {
+ var index = fromIndex + 1;
+ while (index--) {
+ if (array[index] === value) {
+ return index;
}
+ }
+ return index;
+ }
- var dimension = this._getDimension();
-
- this._element.style[dimension] = this._element.getBoundingClientRect()[dimension] + "px";
- Util.reflow(this._element);
- $__default['default'](this._element).addClass(CLASS_NAME_COLLAPSING).removeClass(CLASS_NAME_COLLAPSE + " " + CLASS_NAME_SHOW$1);
- var triggerArrayLength = this._triggerArray.length;
-
- if (triggerArrayLength > 0) {
- for (var i = 0; i < triggerArrayLength; i++) {
- var trigger = this._triggerArray[i];
- var selector = Util.getSelectorFromElement(trigger);
-
- if (selector !== null) {
- var $elem = $__default['default']([].slice.call(document.querySelectorAll(selector)));
-
- if (!$elem.hasClass(CLASS_NAME_SHOW$1)) {
- $__default['default'](trigger).addClass(CLASS_NAME_COLLAPSED).attr('aria-expanded', false);
- }
- }
- }
- }
-
- this.setTransitioning(true);
-
- var complete = function complete() {
- _this2.setTransitioning(false);
-
- $__default['default'](_this2._element).removeClass(CLASS_NAME_COLLAPSING).addClass(CLASS_NAME_COLLAPSE).trigger(EVENT_HIDDEN);
- };
-
- this._element.style[dimension] = '';
- var transitionDuration = Util.getTransitionDurationFromElement(this._element);
- $__default['default'](this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);
- };
-
- _proto.setTransitioning = function setTransitioning(isTransitioning) {
- this._isTransitioning = isTransitioning;
- };
-
- _proto.dispose = function dispose() {
- $__default['default'].removeData(this._element, DATA_KEY$3);
- this._config = null;
- this._parent = null;
- this._element = null;
- this._triggerArray = null;
- this._isTransitioning = null;
- } // Private
- ;
-
- _proto._getConfig = function _getConfig(config) {
- config = _extends({}, Default$1, config);
- config.toggle = Boolean(config.toggle); // Coerce string values
-
- Util.typeCheckConfig(NAME$3, config, DefaultType$1);
- return config;
- };
-
- _proto._getDimension = function _getDimension() {
- var hasWidth = $__default['default'](this._element).hasClass(DIMENSION_WIDTH);
- return hasWidth ? DIMENSION_WIDTH : DIMENSION_HEIGHT;
- };
-
- _proto._getParent = function _getParent() {
- var _this3 = this;
-
- var parent;
-
- if (Util.isElement(this._config.parent)) {
- parent = this._config.parent; // It's a jQuery object
-
- if (typeof this._config.parent.jquery !== 'undefined') {
- parent = this._config.parent[0];
- }
- } else {
- parent = document.querySelector(this._config.parent);
- }
-
- var selector = "[data-toggle=\"collapse\"][data-parent=\"" + this._config.parent + "\"]";
- var children = [].slice.call(parent.querySelectorAll(selector));
- $__default['default'](children).each(function (i, element) {
- _this3._addAriaAndCollapsedClass(Collapse._getTargetFromElement(element), [element]);
- });
- return parent;
- };
-
- _proto._addAriaAndCollapsedClass = function _addAriaAndCollapsedClass(element, triggerArray) {
- var isOpen = $__default['default'](element).hasClass(CLASS_NAME_SHOW$1);
-
- if (triggerArray.length) {
- $__default['default'](triggerArray).toggleClass(CLASS_NAME_COLLAPSED, !isOpen).attr('aria-expanded', isOpen);
- }
- } // Static
- ;
-
- Collapse._getTargetFromElement = function _getTargetFromElement(element) {
- var selector = Util.getSelectorFromElement(element);
- return selector ? document.querySelector(selector) : null;
- };
-
- Collapse._jQueryInterface = function _jQueryInterface(config) {
- return this.each(function () {
- var $element = $__default['default'](this);
- var data = $element.data(DATA_KEY$3);
-
- var _config = _extends({}, Default$1, $element.data(), typeof config === 'object' && config ? config : {});
-
- if (!data && _config.toggle && typeof config === 'string' && /show|hide/.test(config)) {
- _config.toggle = false;
- }
-
- if (!data) {
- data = new Collapse(this, _config);
- $element.data(DATA_KEY$3, data);
- }
-
- if (typeof config === 'string') {
- if (typeof data[config] === 'undefined') {
- throw new TypeError("No method named \"" + config + "\"");
- }
-
- data[config]();
- }
- });
- };
-
- _createClass(Collapse, null, [{
- key: "VERSION",
- get: function get() {
- return VERSION$3;
- }
- }, {
- key: "Default",
- get: function get() {
- return Default$1;
- }
- }]);
+ /**
+ * Gets the number of symbols in `string`.
+ *
+ * @private
+ * @param {string} string The string to inspect.
+ * @returns {number} Returns the string size.
+ */
+ function stringSize(string) {
+ return hasUnicode(string)
+ ? unicodeSize(string)
+ : asciiSize(string);
+ }
- return Collapse;
- }();
/**
- * ------------------------------------------------------------------------
- * Data Api implementation
- * ------------------------------------------------------------------------
+ * Converts `string` to an array.
+ *
+ * @private
+ * @param {string} string The string to convert.
+ * @returns {Array} Returns the converted array.
*/
+ function stringToArray(string) {
+ return hasUnicode(string)
+ ? unicodeToArray(string)
+ : asciiToArray(string);
+ }
+ /**
+ * Used by `_.unescape` to convert HTML entities to characters.
+ *
+ * @private
+ * @param {string} chr The matched character to unescape.
+ * @returns {string} Returns the unescaped character.
+ */
+ var unescapeHtmlChar = basePropertyOf(htmlUnescapes);
- $__default['default'](document).on(EVENT_CLICK_DATA_API$3, SELECTOR_DATA_TOGGLE$1, function (event) {
- // preventDefault only for elements (which change the URL) not inside the collapsible element
- if (event.currentTarget.tagName === 'A') {
- event.preventDefault();
+ /**
+ * Gets the size of a Unicode `string`.
+ *
+ * @private
+ * @param {string} string The string inspect.
+ * @returns {number} Returns the string size.
+ */
+ function unicodeSize(string) {
+ var result = reUnicode.lastIndex = 0;
+ while (reUnicode.test(string)) {
+ ++result;
}
+ return result;
+ }
- var $trigger = $__default['default'](this);
- var selector = Util.getSelectorFromElement(this);
- var selectors = [].slice.call(document.querySelectorAll(selector));
- $__default['default'](selectors).each(function () {
- var $target = $__default['default'](this);
- var data = $target.data(DATA_KEY$3);
- var config = data ? 'toggle' : $trigger.data();
-
- Collapse._jQueryInterface.call($target, config);
- });
- });
/**
- * ------------------------------------------------------------------------
- * jQuery
- * ------------------------------------------------------------------------
+ * Converts a Unicode `string` to an array.
+ *
+ * @private
+ * @param {string} string The string to convert.
+ * @returns {Array} Returns the converted array.
*/
-
- $__default['default'].fn[NAME$3] = Collapse._jQueryInterface;
- $__default['default'].fn[NAME$3].Constructor = Collapse;
-
- $__default['default'].fn[NAME$3].noConflict = function () {
- $__default['default'].fn[NAME$3] = JQUERY_NO_CONFLICT$3;
- return Collapse._jQueryInterface;
- };
+ function unicodeToArray(string) {
+ return string.match(reUnicode) || [];
+ }
/**
- * ------------------------------------------------------------------------
- * Constants
- * ------------------------------------------------------------------------
+ * Splits a Unicode `string` into an array of its words.
+ *
+ * @private
+ * @param {string} The string to inspect.
+ * @returns {Array} Returns the words of `string`.
*/
+ function unicodeWords(string) {
+ return string.match(reUnicodeWord) || [];
+ }
+
+ /*--------------------------------------------------------------------------*/
- var NAME$4 = 'dropdown';
- var VERSION$4 = '4.5.3';
- var DATA_KEY$4 = 'bs.dropdown';
- var EVENT_KEY$4 = "." + DATA_KEY$4;
- var DATA_API_KEY$4 = '.data-api';
- var JQUERY_NO_CONFLICT$4 = $__default['default'].fn[NAME$4];
- var ESCAPE_KEYCODE = 27; // KeyboardEvent.which value for Escape (Esc) key
-
- var SPACE_KEYCODE = 32; // KeyboardEvent.which value for space key
-
- var TAB_KEYCODE = 9; // KeyboardEvent.which value for tab key
-
- var ARROW_UP_KEYCODE = 38; // KeyboardEvent.which value for up arrow key
-
- var ARROW_DOWN_KEYCODE = 40; // KeyboardEvent.which value for down arrow key
-
- var RIGHT_MOUSE_BUTTON_WHICH = 3; // MouseEvent.which value for the right button (assuming a right-handed mouse)
-
- var REGEXP_KEYDOWN = new RegExp(ARROW_UP_KEYCODE + "|" + ARROW_DOWN_KEYCODE + "|" + ESCAPE_KEYCODE);
- var EVENT_HIDE$1 = "hide" + EVENT_KEY$4;
- var EVENT_HIDDEN$1 = "hidden" + EVENT_KEY$4;
- var EVENT_SHOW$1 = "show" + EVENT_KEY$4;
- var EVENT_SHOWN$1 = "shown" + EVENT_KEY$4;
- var EVENT_CLICK = "click" + EVENT_KEY$4;
- var EVENT_CLICK_DATA_API$4 = "click" + EVENT_KEY$4 + DATA_API_KEY$4;
- var EVENT_KEYDOWN_DATA_API = "keydown" + EVENT_KEY$4 + DATA_API_KEY$4;
- var EVENT_KEYUP_DATA_API = "keyup" + EVENT_KEY$4 + DATA_API_KEY$4;
- var CLASS_NAME_DISABLED = 'disabled';
- var CLASS_NAME_SHOW$2 = 'show';
- var CLASS_NAME_DROPUP = 'dropup';
- var CLASS_NAME_DROPRIGHT = 'dropright';
- var CLASS_NAME_DROPLEFT = 'dropleft';
- var CLASS_NAME_MENURIGHT = 'dropdown-menu-right';
- var CLASS_NAME_POSITION_STATIC = 'position-static';
- var SELECTOR_DATA_TOGGLE$2 = '[data-toggle="dropdown"]';
- var SELECTOR_FORM_CHILD = '.dropdown form';
- var SELECTOR_MENU = '.dropdown-menu';
- var SELECTOR_NAVBAR_NAV = '.navbar-nav';
- var SELECTOR_VISIBLE_ITEMS = '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)';
- var PLACEMENT_TOP = 'top-start';
- var PLACEMENT_TOPEND = 'top-end';
- var PLACEMENT_BOTTOM = 'bottom-start';
- var PLACEMENT_BOTTOMEND = 'bottom-end';
- var PLACEMENT_RIGHT = 'right-start';
- var PLACEMENT_LEFT = 'left-start';
- var Default$2 = {
- offset: 0,
- flip: true,
- boundary: 'scrollParent',
- reference: 'toggle',
- display: 'dynamic',
- popperConfig: null
- };
- var DefaultType$2 = {
- offset: '(number|string|function)',
- flip: 'boolean',
- boundary: '(string|element)',
- reference: '(string|element)',
- display: 'string',
- popperConfig: '(null|object)'
- };
/**
- * ------------------------------------------------------------------------
- * Class Definition
- * ------------------------------------------------------------------------
+ * Create a new pristine `lodash` function using the `context` object.
+ *
+ * @static
+ * @memberOf _
+ * @since 1.1.0
+ * @category Util
+ * @param {Object} [context=root] The context object.
+ * @returns {Function} Returns a new `lodash` function.
+ * @example
+ *
+ * _.mixin({ 'foo': _.constant('foo') });
+ *
+ * var lodash = _.runInContext();
+ * lodash.mixin({ 'bar': lodash.constant('bar') });
+ *
+ * _.isFunction(_.foo);
+ * // => true
+ * _.isFunction(_.bar);
+ * // => false
+ *
+ * lodash.isFunction(lodash.foo);
+ * // => false
+ * lodash.isFunction(lodash.bar);
+ * // => true
+ *
+ * // Create a suped-up `defer` in Node.js.
+ * var defer = _.runInContext({ 'setTimeout': setImmediate }).defer;
*/
+ var runInContext = (function runInContext(context) {
+ context = context == null ? root : _.defaults(root.Object(), context, _.pick(root, contextProps));
- var Dropdown = /*#__PURE__*/function () {
- function Dropdown(element, config) {
- this._element = element;
- this._popper = null;
- this._config = this._getConfig(config);
- this._menu = this._getMenuElement();
- this._inNavbar = this._detectNavbar();
-
- this._addEventListeners();
- } // Getters
+ /** Built-in constructor references. */
+ var Array = context.Array,
+ Date = context.Date,
+ Error = context.Error,
+ Function = context.Function,
+ Math = context.Math,
+ Object = context.Object,
+ RegExp = context.RegExp,
+ String = context.String,
+ TypeError = context.TypeError;
+ /** Used for built-in method references. */
+ var arrayProto = Array.prototype,
+ funcProto = Function.prototype,
+ objectProto = Object.prototype;
- var _proto = Dropdown.prototype;
+ /** Used to detect overreaching core-js shims. */
+ var coreJsData = context['__core-js_shared__'];
- // Public
- _proto.toggle = function toggle() {
- if (this._element.disabled || $__default['default'](this._element).hasClass(CLASS_NAME_DISABLED)) {
- return;
- }
+ /** Used to resolve the decompiled source of functions. */
+ var funcToString = funcProto.toString;
- var isActive = $__default['default'](this._menu).hasClass(CLASS_NAME_SHOW$2);
+ /** Used to check objects for own properties. */
+ var hasOwnProperty = objectProto.hasOwnProperty;
- Dropdown._clearMenus();
+ /** Used to generate unique IDs. */
+ var idCounter = 0;
- if (isActive) {
- return;
- }
+ /** Used to detect methods masquerading as native. */
+ var maskSrcKey = (function() {
+ var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');
+ return uid ? ('Symbol(src)_1.' + uid) : '';
+ }());
- this.show(true);
- };
+ /**
+ * Used to resolve the
+ * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)
+ * of values.
+ */
+ var nativeObjectToString = objectProto.toString;
- _proto.show = function show(usePopper) {
- if (usePopper === void 0) {
- usePopper = false;
- }
+ /** Used to infer the `Object` constructor. */
+ var objectCtorString = funcToString.call(Object);
- if (this._element.disabled || $__default['default'](this._element).hasClass(CLASS_NAME_DISABLED) || $__default['default'](this._menu).hasClass(CLASS_NAME_SHOW$2)) {
- return;
- }
+ /** Used to restore the original `_` reference in `_.noConflict`. */
+ var oldDash = root._;
- var relatedTarget = {
- relatedTarget: this._element
- };
- var showEvent = $__default['default'].Event(EVENT_SHOW$1, relatedTarget);
+ /** Used to detect if a method is native. */
+ var reIsNative = RegExp('^' +
+ funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\$&')
+ .replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, '$1.*?') + '$'
+ );
- var parent = Dropdown._getParentFromElement(this._element);
+ /** Built-in value references. */
+ var Buffer = moduleExports ? context.Buffer : undefined,
+ Symbol = context.Symbol,
+ Uint8Array = context.Uint8Array,
+ allocUnsafe = Buffer ? Buffer.allocUnsafe : undefined,
+ getPrototype = overArg(Object.getPrototypeOf, Object),
+ objectCreate = Object.create,
+ propertyIsEnumerable = objectProto.propertyIsEnumerable,
+ splice = arrayProto.splice,
+ spreadableSymbol = Symbol ? Symbol.isConcatSpreadable : undefined,
+ symIterator = Symbol ? Symbol.iterator : undefined,
+ symToStringTag = Symbol ? Symbol.toStringTag : undefined;
- $__default['default'](parent).trigger(showEvent);
+ var defineProperty = (function() {
+ try {
+ var func = getNative(Object, 'defineProperty');
+ func({}, '', {});
+ return func;
+ } catch (e) {}
+ }());
- if (showEvent.isDefaultPrevented()) {
- return;
- } // Disable totally Popper.js for Dropdown in Navbar
+ /** Mocked built-ins. */
+ var ctxClearTimeout = context.clearTimeout !== root.clearTimeout && context.clearTimeout,
+ ctxNow = Date && Date.now !== root.Date.now && Date.now,
+ ctxSetTimeout = context.setTimeout !== root.setTimeout && context.setTimeout;
+ /* Built-in method references for those with the same name as other `lodash` methods. */
+ var nativeCeil = Math.ceil,
+ nativeFloor = Math.floor,
+ nativeGetSymbols = Object.getOwnPropertySymbols,
+ nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined,
+ nativeIsFinite = context.isFinite,
+ nativeJoin = arrayProto.join,
+ nativeKeys = overArg(Object.keys, Object),
+ nativeMax = Math.max,
+ nativeMin = Math.min,
+ nativeNow = Date.now,
+ nativeParseInt = context.parseInt,
+ nativeRandom = Math.random,
+ nativeReverse = arrayProto.reverse;
- if (!this._inNavbar && usePopper) {
- /**
- * Check for Popper dependency
- * Popper - https://popper.js.org
- */
- if (typeof Popper__default['default'] === 'undefined') {
- throw new TypeError('Bootstrap\'s dropdowns require Popper.js (https://popper.js.org/)');
- }
+ /* Built-in method references that are verified to be native. */
+ var DataView = getNative(context, 'DataView'),
+ Map = getNative(context, 'Map'),
+ Promise = getNative(context, 'Promise'),
+ Set = getNative(context, 'Set'),
+ WeakMap = getNative(context, 'WeakMap'),
+ nativeCreate = getNative(Object, 'create');
- var referenceElement = this._element;
+ /** Used to store function metadata. */
+ var metaMap = WeakMap && new WeakMap;
- if (this._config.reference === 'parent') {
- referenceElement = parent;
- } else if (Util.isElement(this._config.reference)) {
- referenceElement = this._config.reference; // Check if it's jQuery element
+ /** Used to lookup unminified function names. */
+ var realNames = {};
- if (typeof this._config.reference.jquery !== 'undefined') {
- referenceElement = this._config.reference[0];
- }
- } // If boundary is not `scrollParent`, then set position to `static`
- // to allow the menu to "escape" the scroll parent's boundaries
- // https://github.com/twbs/bootstrap/issues/24251
+ /** Used to detect maps, sets, and weakmaps. */
+ var dataViewCtorString = toSource(DataView),
+ mapCtorString = toSource(Map),
+ promiseCtorString = toSource(Promise),
+ setCtorString = toSource(Set),
+ weakMapCtorString = toSource(WeakMap);
+ /** Used to convert symbols to primitives and strings. */
+ var symbolProto = Symbol ? Symbol.prototype : undefined,
+ symbolValueOf = symbolProto ? symbolProto.valueOf : undefined,
+ symbolToString = symbolProto ? symbolProto.toString : undefined;
- if (this._config.boundary !== 'scrollParent') {
- $__default['default'](parent).addClass(CLASS_NAME_POSITION_STATIC);
- }
-
- this._popper = new Popper__default['default'](referenceElement, this._menu, this._getPopperConfig());
- } // If this is a touch-enabled device we add extra
- // empty mouseover listeners to the body's immediate children;
- // only needed because of broken event delegation on iOS
- // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html
-
-
- if ('ontouchstart' in document.documentElement && $__default['default'](parent).closest(SELECTOR_NAVBAR_NAV).length === 0) {
- $__default['default'](document.body).children().on('mouseover', null, $__default['default'].noop);
- }
-
- this._element.focus();
-
- this._element.setAttribute('aria-expanded', true);
-
- $__default['default'](this._menu).toggleClass(CLASS_NAME_SHOW$2);
- $__default['default'](parent).toggleClass(CLASS_NAME_SHOW$2).trigger($__default['default'].Event(EVENT_SHOWN$1, relatedTarget));
- };
+ /*------------------------------------------------------------------------*/
- _proto.hide = function hide() {
- if (this._element.disabled || $__default['default'](this._element).hasClass(CLASS_NAME_DISABLED) || !$__default['default'](this._menu).hasClass(CLASS_NAME_SHOW$2)) {
- return;
+ /**
+ * Creates a `lodash` object which wraps `value` to enable implicit method
+ * chain sequences. Methods that operate on and return arrays, collections,
+ * and functions can be chained together. Methods that retrieve a single value
+ * or may return a primitive value will automatically end the chain sequence
+ * and return the unwrapped value. Otherwise, the value must be unwrapped
+ * with `_#value`.
+ *
+ * Explicit chain sequences, which must be unwrapped with `_#value`, may be
+ * enabled using `_.chain`.
+ *
+ * The execution of chained methods is lazy, that is, it's deferred until
+ * `_#value` is implicitly or explicitly called.
+ *
+ * Lazy evaluation allows several methods to support shortcut fusion.
+ * Shortcut fusion is an optimization to merge iteratee calls; this avoids
+ * the creation of intermediate arrays and can greatly reduce the number of
+ * iteratee executions. Sections of a chain sequence qualify for shortcut
+ * fusion if the section is applied to an array and iteratees accept only
+ * one argument. The heuristic for whether a section qualifies for shortcut
+ * fusion is subject to change.
+ *
+ * Chaining is supported in custom builds as long as the `_#value` method is
+ * directly or indirectly included in the build.
+ *
+ * In addition to lodash methods, wrappers have `Array` and `String` methods.
+ *
+ * The wrapper `Array` methods are:
+ * `concat`, `join`, `pop`, `push`, `shift`, `sort`, `splice`, and `unshift`
+ *
+ * The wrapper `String` methods are:
+ * `replace` and `split`
+ *
+ * The wrapper methods that support shortcut fusion are:
+ * `at`, `compact`, `drop`, `dropRight`, `dropWhile`, `filter`, `find`,
+ * `findLast`, `head`, `initial`, `last`, `map`, `reject`, `reverse`, `slice`,
+ * `tail`, `take`, `takeRight`, `takeRightWhile`, `takeWhile`, and `toArray`
+ *
+ * The chainable wrapper methods are:
+ * `after`, `ary`, `assign`, `assignIn`, `assignInWith`, `assignWith`, `at`,
+ * `before`, `bind`, `bindAll`, `bindKey`, `castArray`, `chain`, `chunk`,
+ * `commit`, `compact`, `concat`, `conforms`, `constant`, `countBy`, `create`,
+ * `curry`, `debounce`, `defaults`, `defaultsDeep`, `defer`, `delay`,
+ * `difference`, `differenceBy`, `differenceWith`, `drop`, `dropRight`,
+ * `dropRightWhile`, `dropWhile`, `extend`, `extendWith`, `fill`, `filter`,
+ * `flatMap`, `flatMapDeep`, `flatMapDepth`, `flatten`, `flattenDeep`,
+ * `flattenDepth`, `flip`, `flow`, `flowRight`, `fromPairs`, `functions`,
+ * `functionsIn`, `groupBy`, `initial`, `intersection`, `intersectionBy`,
+ * `intersectionWith`, `invert`, `invertBy`, `invokeMap`, `iteratee`, `keyBy`,
+ * `keys`, `keysIn`, `map`, `mapKeys`, `mapValues`, `matches`, `matchesProperty`,
+ * `memoize`, `merge`, `mergeWith`, `method`, `methodOf`, `mixin`, `negate`,
+ * `nthArg`, `omit`, `omitBy`, `once`, `orderBy`, `over`, `overArgs`,
+ * `overEvery`, `overSome`, `partial`, `partialRight`, `partition`, `pick`,
+ * `pickBy`, `plant`, `property`, `propertyOf`, `pull`, `pullAll`, `pullAllBy`,
+ * `pullAllWith`, `pullAt`, `push`, `range`, `rangeRight`, `rearg`, `reject`,
+ * `remove`, `rest`, `reverse`, `sampleSize`, `set`, `setWith`, `shuffle`,
+ * `slice`, `sort`, `sortBy`, `splice`, `spread`, `tail`, `take`, `takeRight`,
+ * `takeRightWhile`, `takeWhile`, `tap`, `throttle`, `thru`, `toArray`,
+ * `toPairs`, `toPairsIn`, `toPath`, `toPlainObject`, `transform`, `unary`,
+ * `union`, `unionBy`, `unionWith`, `uniq`, `uniqBy`, `uniqWith`, `unset`,
+ * `unshift`, `unzip`, `unzipWith`, `update`, `updateWith`, `values`,
+ * `valuesIn`, `without`, `wrap`, `xor`, `xorBy`, `xorWith`, `zip`,
+ * `zipObject`, `zipObjectDeep`, and `zipWith`
+ *
+ * The wrapper methods that are **not** chainable by default are:
+ * `add`, `attempt`, `camelCase`, `capitalize`, `ceil`, `clamp`, `clone`,
+ * `cloneDeep`, `cloneDeepWith`, `cloneWith`, `conformsTo`, `deburr`,
+ * `defaultTo`, `divide`, `each`, `eachRight`, `endsWith`, `eq`, `escape`,
+ * `escapeRegExp`, `every`, `find`, `findIndex`, `findKey`, `findLast`,
+ * `findLastIndex`, `findLastKey`, `first`, `floor`, `forEach`, `forEachRight`,
+ * `forIn`, `forInRight`, `forOwn`, `forOwnRight`, `get`, `gt`, `gte`, `has`,
+ * `hasIn`, `head`, `identity`, `includes`, `indexOf`, `inRange`, `invoke`,
+ * `isArguments`, `isArray`, `isArrayBuffer`, `isArrayLike`, `isArrayLikeObject`,
+ * `isBoolean`, `isBuffer`, `isDate`, `isElement`, `isEmpty`, `isEqual`,
+ * `isEqualWith`, `isError`, `isFinite`, `isFunction`, `isInteger`, `isLength`,
+ * `isMap`, `isMatch`, `isMatchWith`, `isNaN`, `isNative`, `isNil`, `isNull`,
+ * `isNumber`, `isObject`, `isObjectLike`, `isPlainObject`, `isRegExp`,
+ * `isSafeInteger`, `isSet`, `isString`, `isUndefined`, `isTypedArray`,
+ * `isWeakMap`, `isWeakSet`, `join`, `kebabCase`, `last`, `lastIndexOf`,
+ * `lowerCase`, `lowerFirst`, `lt`, `lte`, `max`, `maxBy`, `mean`, `meanBy`,
+ * `min`, `minBy`, `multiply`, `noConflict`, `noop`, `now`, `nth`, `pad`,
+ * `padEnd`, `padStart`, `parseInt`, `pop`, `random`, `reduce`, `reduceRight`,
+ * `repeat`, `result`, `round`, `runInContext`, `sample`, `shift`, `size`,
+ * `snakeCase`, `some`, `sortedIndex`, `sortedIndexBy`, `sortedLastIndex`,
+ * `sortedLastIndexBy`, `startCase`, `startsWith`, `stubArray`, `stubFalse`,
+ * `stubObject`, `stubString`, `stubTrue`, `subtract`, `sum`, `sumBy`,
+ * `template`, `times`, `toFinite`, `toInteger`, `toJSON`, `toLength`,
+ * `toLower`, `toNumber`, `toSafeInteger`, `toString`, `toUpper`, `trim`,
+ * `trimEnd`, `trimStart`, `truncate`, `unescape`, `uniqueId`, `upperCase`,
+ * `upperFirst`, `value`, and `words`
+ *
+ * @name _
+ * @constructor
+ * @category Seq
+ * @param {*} value The value to wrap in a `lodash` instance.
+ * @returns {Object} Returns the new `lodash` wrapper instance.
+ * @example
+ *
+ * function square(n) {
+ * return n * n;
+ * }
+ *
+ * var wrapped = _([1, 2, 3]);
+ *
+ * // Returns an unwrapped value.
+ * wrapped.reduce(_.add);
+ * // => 6
+ *
+ * // Returns a wrapped value.
+ * var squares = wrapped.map(square);
+ *
+ * _.isArray(squares);
+ * // => false
+ *
+ * _.isArray(squares.value());
+ * // => true
+ */
+ function lodash(value) {
+ if (isObjectLike(value) && !isArray(value) && !(value instanceof LazyWrapper)) {
+ if (value instanceof LodashWrapper) {
+ return value;
+ }
+ if (hasOwnProperty.call(value, '__wrapped__')) {
+ return wrapperClone(value);
+ }
}
+ return new LodashWrapper(value);
+ }
- var relatedTarget = {
- relatedTarget: this._element
+ /**
+ * The base implementation of `_.create` without support for assigning
+ * properties to the created object.
+ *
+ * @private
+ * @param {Object} proto The object to inherit from.
+ * @returns {Object} Returns the new object.
+ */
+ var baseCreate = (function() {
+ function object() {}
+ return function(proto) {
+ if (!isObject(proto)) {
+ return {};
+ }
+ if (objectCreate) {
+ return objectCreate(proto);
+ }
+ object.prototype = proto;
+ var result = new object;
+ object.prototype = undefined;
+ return result;
};
- var hideEvent = $__default['default'].Event(EVENT_HIDE$1, relatedTarget);
-
- var parent = Dropdown._getParentFromElement(this._element);
+ }());
- $__default['default'](parent).trigger(hideEvent);
+ /**
+ * The function whose prototype chain sequence wrappers inherit from.
+ *
+ * @private
+ */
+ function baseLodash() {
+ // No operation performed.
+ }
- if (hideEvent.isDefaultPrevented()) {
- return;
- }
+ /**
+ * The base constructor for creating `lodash` wrapper objects.
+ *
+ * @private
+ * @param {*} value The value to wrap.
+ * @param {boolean} [chainAll] Enable explicit method chain sequences.
+ */
+ function LodashWrapper(value, chainAll) {
+ this.__wrapped__ = value;
+ this.__actions__ = [];
+ this.__chain__ = !!chainAll;
+ this.__index__ = 0;
+ this.__values__ = undefined;
+ }
- if (this._popper) {
- this._popper.destroy();
- }
+ /**
+ * By default, the template delimiters used by lodash are like those in
+ * embedded Ruby (ERB) as well as ES2015 template strings. Change the
+ * following template settings to use alternative delimiters.
+ *
+ * @static
+ * @memberOf _
+ * @type {Object}
+ */
+ lodash.templateSettings = {
- $__default['default'](this._menu).toggleClass(CLASS_NAME_SHOW$2);
- $__default['default'](parent).toggleClass(CLASS_NAME_SHOW$2).trigger($__default['default'].Event(EVENT_HIDDEN$1, relatedTarget));
- };
+ /**
+ * Used to detect `data` property values to be HTML-escaped.
+ *
+ * @memberOf _.templateSettings
+ * @type {RegExp}
+ */
+ 'escape': reEscape,
- _proto.dispose = function dispose() {
- $__default['default'].removeData(this._element, DATA_KEY$4);
- $__default['default'](this._element).off(EVENT_KEY$4);
- this._element = null;
- this._menu = null;
+ /**
+ * Used to detect code to be evaluated.
+ *
+ * @memberOf _.templateSettings
+ * @type {RegExp}
+ */
+ 'evaluate': reEvaluate,
- if (this._popper !== null) {
- this._popper.destroy();
+ /**
+ * Used to detect `data` property values to inject.
+ *
+ * @memberOf _.templateSettings
+ * @type {RegExp}
+ */
+ 'interpolate': reInterpolate,
- this._popper = null;
- }
- };
+ /**
+ * Used to reference the data object in the template text.
+ *
+ * @memberOf _.templateSettings
+ * @type {string}
+ */
+ 'variable': '',
- _proto.update = function update() {
- this._inNavbar = this._detectNavbar();
+ /**
+ * Used to import variables into the compiled template.
+ *
+ * @memberOf _.templateSettings
+ * @type {Object}
+ */
+ 'imports': {
- if (this._popper !== null) {
- this._popper.scheduleUpdate();
+ /**
+ * A reference to the `lodash` function.
+ *
+ * @memberOf _.templateSettings.imports
+ * @type {Function}
+ */
+ '_': lodash
}
- } // Private
- ;
-
- _proto._addEventListeners = function _addEventListeners() {
- var _this = this;
-
- $__default['default'](this._element).on(EVENT_CLICK, function (event) {
- event.preventDefault();
- event.stopPropagation();
-
- _this.toggle();
- });
};
- _proto._getConfig = function _getConfig(config) {
- config = _extends({}, this.constructor.Default, $__default['default'](this._element).data(), config);
- Util.typeCheckConfig(NAME$4, config, this.constructor.DefaultType);
- return config;
- };
+ // Ensure wrappers are instances of `baseLodash`.
+ lodash.prototype = baseLodash.prototype;
+ lodash.prototype.constructor = lodash;
- _proto._getMenuElement = function _getMenuElement() {
- if (!this._menu) {
- var parent = Dropdown._getParentFromElement(this._element);
+ LodashWrapper.prototype = baseCreate(baseLodash.prototype);
+ LodashWrapper.prototype.constructor = LodashWrapper;
- if (parent) {
- this._menu = parent.querySelector(SELECTOR_MENU);
- }
- }
-
- return this._menu;
- };
-
- _proto._getPlacement = function _getPlacement() {
- var $parentDropdown = $__default['default'](this._element.parentNode);
- var placement = PLACEMENT_BOTTOM; // Handle dropup
-
- if ($parentDropdown.hasClass(CLASS_NAME_DROPUP)) {
- placement = $__default['default'](this._menu).hasClass(CLASS_NAME_MENURIGHT) ? PLACEMENT_TOPEND : PLACEMENT_TOP;
- } else if ($parentDropdown.hasClass(CLASS_NAME_DROPRIGHT)) {
- placement = PLACEMENT_RIGHT;
- } else if ($parentDropdown.hasClass(CLASS_NAME_DROPLEFT)) {
- placement = PLACEMENT_LEFT;
- } else if ($__default['default'](this._menu).hasClass(CLASS_NAME_MENURIGHT)) {
- placement = PLACEMENT_BOTTOMEND;
- }
-
- return placement;
- };
-
- _proto._detectNavbar = function _detectNavbar() {
- return $__default['default'](this._element).closest('.navbar').length > 0;
- };
+ /*------------------------------------------------------------------------*/
- _proto._getOffset = function _getOffset() {
- var _this2 = this;
+ /**
+ * Creates a lazy wrapper object which wraps `value` to enable lazy evaluation.
+ *
+ * @private
+ * @constructor
+ * @param {*} value The value to wrap.
+ */
+ function LazyWrapper(value) {
+ this.__wrapped__ = value;
+ this.__actions__ = [];
+ this.__dir__ = 1;
+ this.__filtered__ = false;
+ this.__iteratees__ = [];
+ this.__takeCount__ = MAX_ARRAY_LENGTH;
+ this.__views__ = [];
+ }
- var offset = {};
+ /**
+ * Creates a clone of the lazy wrapper object.
+ *
+ * @private
+ * @name clone
+ * @memberOf LazyWrapper
+ * @returns {Object} Returns the cloned `LazyWrapper` object.
+ */
+ function lazyClone() {
+ var result = new LazyWrapper(this.__wrapped__);
+ result.__actions__ = copyArray(this.__actions__);
+ result.__dir__ = this.__dir__;
+ result.__filtered__ = this.__filtered__;
+ result.__iteratees__ = copyArray(this.__iteratees__);
+ result.__takeCount__ = this.__takeCount__;
+ result.__views__ = copyArray(this.__views__);
+ return result;
+ }
- if (typeof this._config.offset === 'function') {
- offset.fn = function (data) {
- data.offsets = _extends({}, data.offsets, _this2._config.offset(data.offsets, _this2._element) || {});
- return data;
- };
+ /**
+ * Reverses the direction of lazy iteration.
+ *
+ * @private
+ * @name reverse
+ * @memberOf LazyWrapper
+ * @returns {Object} Returns the new reversed `LazyWrapper` object.
+ */
+ function lazyReverse() {
+ if (this.__filtered__) {
+ var result = new LazyWrapper(this);
+ result.__dir__ = -1;
+ result.__filtered__ = true;
} else {
- offset.offset = this._config.offset;
+ result = this.clone();
+ result.__dir__ *= -1;
}
+ return result;
+ }
- return offset;
- };
-
- _proto._getPopperConfig = function _getPopperConfig() {
- var popperConfig = {
- placement: this._getPlacement(),
- modifiers: {
- offset: this._getOffset(),
- flip: {
- enabled: this._config.flip
- },
- preventOverflow: {
- boundariesElement: this._config.boundary
- }
- }
- }; // Disable Popper.js if we have a static display
+ /**
+ * Extracts the unwrapped value from its lazy wrapper.
+ *
+ * @private
+ * @name value
+ * @memberOf LazyWrapper
+ * @returns {*} Returns the unwrapped value.
+ */
+ function lazyValue() {
+ var array = this.__wrapped__.value(),
+ dir = this.__dir__,
+ isArr = isArray(array),
+ isRight = dir < 0,
+ arrLength = isArr ? array.length : 0,
+ view = getView(0, arrLength, this.__views__),
+ start = view.start,
+ end = view.end,
+ length = end - start,
+ index = isRight ? end : (start - 1),
+ iteratees = this.__iteratees__,
+ iterLength = iteratees.length,
+ resIndex = 0,
+ takeCount = nativeMin(length, this.__takeCount__);
- if (this._config.display === 'static') {
- popperConfig.modifiers.applyStyle = {
- enabled: false
- };
+ if (!isArr || (!isRight && arrLength == length && takeCount == length)) {
+ return baseWrapperValue(array, this.__actions__);
}
+ var result = [];
- return _extends({}, popperConfig, this._config.popperConfig);
- } // Static
- ;
-
- Dropdown._jQueryInterface = function _jQueryInterface(config) {
- return this.each(function () {
- var data = $__default['default'](this).data(DATA_KEY$4);
+ outer:
+ while (length-- && resIndex < takeCount) {
+ index += dir;
- var _config = typeof config === 'object' ? config : null;
+ var iterIndex = -1,
+ value = array[index];
- if (!data) {
- data = new Dropdown(this, _config);
- $__default['default'](this).data(DATA_KEY$4, data);
- }
+ while (++iterIndex < iterLength) {
+ var data = iteratees[iterIndex],
+ iteratee = data.iteratee,
+ type = data.type,
+ computed = iteratee(value);
- if (typeof config === 'string') {
- if (typeof data[config] === 'undefined') {
- throw new TypeError("No method named \"" + config + "\"");
+ if (type == LAZY_MAP_FLAG) {
+ value = computed;
+ } else if (!computed) {
+ if (type == LAZY_FILTER_FLAG) {
+ continue outer;
+ } else {
+ break outer;
+ }
}
-
- data[config]();
}
- });
- };
-
- Dropdown._clearMenus = function _clearMenus(event) {
- if (event && (event.which === RIGHT_MOUSE_BUTTON_WHICH || event.type === 'keyup' && event.which !== TAB_KEYCODE)) {
- return;
+ result[resIndex++] = value;
}
+ return result;
+ }
- var toggles = [].slice.call(document.querySelectorAll(SELECTOR_DATA_TOGGLE$2));
-
- for (var i = 0, len = toggles.length; i < len; i++) {
- var parent = Dropdown._getParentFromElement(toggles[i]);
-
- var context = $__default['default'](toggles[i]).data(DATA_KEY$4);
- var relatedTarget = {
- relatedTarget: toggles[i]
- };
-
- if (event && event.type === 'click') {
- relatedTarget.clickEvent = event;
- }
-
- if (!context) {
- continue;
- }
-
- var dropdownMenu = context._menu;
-
- if (!$__default['default'](parent).hasClass(CLASS_NAME_SHOW$2)) {
- continue;
- }
-
- if (event && (event.type === 'click' && /input|textarea/i.test(event.target.tagName) || event.type === 'keyup' && event.which === TAB_KEYCODE) && $__default['default'].contains(parent, event.target)) {
- continue;
- }
-
- var hideEvent = $__default['default'].Event(EVENT_HIDE$1, relatedTarget);
- $__default['default'](parent).trigger(hideEvent);
-
- if (hideEvent.isDefaultPrevented()) {
- continue;
- } // If this is a touch-enabled device we remove the extra
- // empty mouseover listeners we added for iOS support
-
-
- if ('ontouchstart' in document.documentElement) {
- $__default['default'](document.body).children().off('mouseover', null, $__default['default'].noop);
- }
+ // Ensure `LazyWrapper` is an instance of `baseLodash`.
+ LazyWrapper.prototype = baseCreate(baseLodash.prototype);
+ LazyWrapper.prototype.constructor = LazyWrapper;
- toggles[i].setAttribute('aria-expanded', 'false');
+ /*------------------------------------------------------------------------*/
- if (context._popper) {
- context._popper.destroy();
- }
+ /**
+ * Creates a hash object.
+ *
+ * @private
+ * @constructor
+ * @param {Array} [entries] The key-value pairs to cache.
+ */
+ function Hash(entries) {
+ var index = -1,
+ length = entries == null ? 0 : entries.length;
- $__default['default'](dropdownMenu).removeClass(CLASS_NAME_SHOW$2);
- $__default['default'](parent).removeClass(CLASS_NAME_SHOW$2).trigger($__default['default'].Event(EVENT_HIDDEN$1, relatedTarget));
+ this.clear();
+ while (++index < length) {
+ var entry = entries[index];
+ this.set(entry[0], entry[1]);
}
- };
-
- Dropdown._getParentFromElement = function _getParentFromElement(element) {
- var parent;
- var selector = Util.getSelectorFromElement(element);
+ }
- if (selector) {
- parent = document.querySelector(selector);
- }
+ /**
+ * Removes all key-value entries from the hash.
+ *
+ * @private
+ * @name clear
+ * @memberOf Hash
+ */
+ function hashClear() {
+ this.__data__ = nativeCreate ? nativeCreate(null) : {};
+ this.size = 0;
+ }
- return parent || element.parentNode;
- } // eslint-disable-next-line complexity
- ;
+ /**
+ * Removes `key` and its value from the hash.
+ *
+ * @private
+ * @name delete
+ * @memberOf Hash
+ * @param {Object} hash The hash to modify.
+ * @param {string} key The key of the value to remove.
+ * @returns {boolean} Returns `true` if the entry was removed, else `false`.
+ */
+ function hashDelete(key) {
+ var result = this.has(key) && delete this.__data__[key];
+ this.size -= result ? 1 : 0;
+ return result;
+ }
- Dropdown._dataApiKeydownHandler = function _dataApiKeydownHandler(event) {
- // If not input/textarea:
- // - And not a key in REGEXP_KEYDOWN => not a dropdown command
- // If input/textarea:
- // - If space key => not a dropdown command
- // - If key is other than escape
- // - If key is not up or down => not a dropdown command
- // - If trigger inside the menu => not a dropdown command
- if (/input|textarea/i.test(event.target.tagName) ? event.which === SPACE_KEYCODE || event.which !== ESCAPE_KEYCODE && (event.which !== ARROW_DOWN_KEYCODE && event.which !== ARROW_UP_KEYCODE || $__default['default'](event.target).closest(SELECTOR_MENU).length) : !REGEXP_KEYDOWN.test(event.which)) {
- return;
+ /**
+ * Gets the hash value for `key`.
+ *
+ * @private
+ * @name get
+ * @memberOf Hash
+ * @param {string} key The key of the value to get.
+ * @returns {*} Returns the entry value.
+ */
+ function hashGet(key) {
+ var data = this.__data__;
+ if (nativeCreate) {
+ var result = data[key];
+ return result === HASH_UNDEFINED ? undefined : result;
}
+ return hasOwnProperty.call(data, key) ? data[key] : undefined;
+ }
- if (this.disabled || $__default['default'](this).hasClass(CLASS_NAME_DISABLED)) {
- return;
- }
+ /**
+ * Checks if a hash value for `key` exists.
+ *
+ * @private
+ * @name has
+ * @memberOf Hash
+ * @param {string} key The key of the entry to check.
+ * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.
+ */
+ function hashHas(key) {
+ var data = this.__data__;
+ return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key);
+ }
- var parent = Dropdown._getParentFromElement(this);
+ /**
+ * Sets the hash `key` to `value`.
+ *
+ * @private
+ * @name set
+ * @memberOf Hash
+ * @param {string} key The key of the value to set.
+ * @param {*} value The value to set.
+ * @returns {Object} Returns the hash instance.
+ */
+ function hashSet(key, value) {
+ var data = this.__data__;
+ this.size += this.has(key) ? 0 : 1;
+ data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;
+ return this;
+ }
- var isActive = $__default['default'](parent).hasClass(CLASS_NAME_SHOW$2);
+ // Add methods to `Hash`.
+ Hash.prototype.clear = hashClear;
+ Hash.prototype['delete'] = hashDelete;
+ Hash.prototype.get = hashGet;
+ Hash.prototype.has = hashHas;
+ Hash.prototype.set = hashSet;
- if (!isActive && event.which === ESCAPE_KEYCODE) {
- return;
- }
+ /*------------------------------------------------------------------------*/
- event.preventDefault();
- event.stopPropagation();
+ /**
+ * Creates an list cache object.
+ *
+ * @private
+ * @constructor
+ * @param {Array} [entries] The key-value pairs to cache.
+ */
+ function ListCache(entries) {
+ var index = -1,
+ length = entries == null ? 0 : entries.length;
- if (!isActive || event.which === ESCAPE_KEYCODE || event.which === SPACE_KEYCODE) {
- if (event.which === ESCAPE_KEYCODE) {
- $__default['default'](parent.querySelector(SELECTOR_DATA_TOGGLE$2)).trigger('focus');
- }
-
- $__default['default'](this).trigger('click');
- return;
- }
-
- var items = [].slice.call(parent.querySelectorAll(SELECTOR_VISIBLE_ITEMS)).filter(function (item) {
- return $__default['default'](item).is(':visible');
- });
-
- if (items.length === 0) {
- return;
+ this.clear();
+ while (++index < length) {
+ var entry = entries[index];
+ this.set(entry[0], entry[1]);
}
+ }
- var index = items.indexOf(event.target);
-
- if (event.which === ARROW_UP_KEYCODE && index > 0) {
- // Up
- index--;
- }
+ /**
+ * Removes all key-value entries from the list cache.
+ *
+ * @private
+ * @name clear
+ * @memberOf ListCache
+ */
+ function listCacheClear() {
+ this.__data__ = [];
+ this.size = 0;
+ }
- if (event.which === ARROW_DOWN_KEYCODE && index < items.length - 1) {
- // Down
- index++;
- }
+ /**
+ * Removes `key` and its value from the list cache.
+ *
+ * @private
+ * @name delete
+ * @memberOf ListCache
+ * @param {string} key The key of the value to remove.
+ * @returns {boolean} Returns `true` if the entry was removed, else `false`.
+ */
+ function listCacheDelete(key) {
+ var data = this.__data__,
+ index = assocIndexOf(data, key);
if (index < 0) {
- index = 0;
- }
-
- items[index].focus();
- };
-
- _createClass(Dropdown, null, [{
- key: "VERSION",
- get: function get() {
- return VERSION$4;
- }
- }, {
- key: "Default",
- get: function get() {
- return Default$2;
+ return false;
}
- }, {
- key: "DefaultType",
- get: function get() {
- return DefaultType$2;
+ var lastIndex = data.length - 1;
+ if (index == lastIndex) {
+ data.pop();
+ } else {
+ splice.call(data, index, 1);
}
- }]);
-
- return Dropdown;
- }();
- /**
- * ------------------------------------------------------------------------
- * Data Api implementation
- * ------------------------------------------------------------------------
- */
-
-
- $__default['default'](document).on(EVENT_KEYDOWN_DATA_API, SELECTOR_DATA_TOGGLE$2, Dropdown._dataApiKeydownHandler).on(EVENT_KEYDOWN_DATA_API, SELECTOR_MENU, Dropdown._dataApiKeydownHandler).on(EVENT_CLICK_DATA_API$4 + " " + EVENT_KEYUP_DATA_API, Dropdown._clearMenus).on(EVENT_CLICK_DATA_API$4, SELECTOR_DATA_TOGGLE$2, function (event) {
- event.preventDefault();
- event.stopPropagation();
-
- Dropdown._jQueryInterface.call($__default['default'](this), 'toggle');
- }).on(EVENT_CLICK_DATA_API$4, SELECTOR_FORM_CHILD, function (e) {
- e.stopPropagation();
- });
- /**
- * ------------------------------------------------------------------------
- * jQuery
- * ------------------------------------------------------------------------
- */
-
- $__default['default'].fn[NAME$4] = Dropdown._jQueryInterface;
- $__default['default'].fn[NAME$4].Constructor = Dropdown;
-
- $__default['default'].fn[NAME$4].noConflict = function () {
- $__default['default'].fn[NAME$4] = JQUERY_NO_CONFLICT$4;
- return Dropdown._jQueryInterface;
- };
-
- /**
- * ------------------------------------------------------------------------
- * Constants
- * ------------------------------------------------------------------------
- */
-
- var NAME$5 = 'modal';
- var VERSION$5 = '4.5.3';
- var DATA_KEY$5 = 'bs.modal';
- var EVENT_KEY$5 = "." + DATA_KEY$5;
- var DATA_API_KEY$5 = '.data-api';
- var JQUERY_NO_CONFLICT$5 = $__default['default'].fn[NAME$5];
- var ESCAPE_KEYCODE$1 = 27; // KeyboardEvent.which value for Escape (Esc) key
-
- var Default$3 = {
- backdrop: true,
- keyboard: true,
- focus: true,
- show: true
- };
- var DefaultType$3 = {
- backdrop: '(boolean|string)',
- keyboard: 'boolean',
- focus: 'boolean',
- show: 'boolean'
- };
- var EVENT_HIDE$2 = "hide" + EVENT_KEY$5;
- var EVENT_HIDE_PREVENTED = "hidePrevented" + EVENT_KEY$5;
- var EVENT_HIDDEN$2 = "hidden" + EVENT_KEY$5;
- var EVENT_SHOW$2 = "show" + EVENT_KEY$5;
- var EVENT_SHOWN$2 = "shown" + EVENT_KEY$5;
- var EVENT_FOCUSIN = "focusin" + EVENT_KEY$5;
- var EVENT_RESIZE = "resize" + EVENT_KEY$5;
- var EVENT_CLICK_DISMISS = "click.dismiss" + EVENT_KEY$5;
- var EVENT_KEYDOWN_DISMISS = "keydown.dismiss" + EVENT_KEY$5;
- var EVENT_MOUSEUP_DISMISS = "mouseup.dismiss" + EVENT_KEY$5;
- var EVENT_MOUSEDOWN_DISMISS = "mousedown.dismiss" + EVENT_KEY$5;
- var EVENT_CLICK_DATA_API$5 = "click" + EVENT_KEY$5 + DATA_API_KEY$5;
- var CLASS_NAME_SCROLLABLE = 'modal-dialog-scrollable';
- var CLASS_NAME_SCROLLBAR_MEASURER = 'modal-scrollbar-measure';
- var CLASS_NAME_BACKDROP = 'modal-backdrop';
- var CLASS_NAME_OPEN = 'modal-open';
- var CLASS_NAME_FADE$1 = 'fade';
- var CLASS_NAME_SHOW$3 = 'show';
- var CLASS_NAME_STATIC = 'modal-static';
- var SELECTOR_DIALOG = '.modal-dialog';
- var SELECTOR_MODAL_BODY = '.modal-body';
- var SELECTOR_DATA_TOGGLE$3 = '[data-toggle="modal"]';
- var SELECTOR_DATA_DISMISS = '[data-dismiss="modal"]';
- var SELECTOR_FIXED_CONTENT = '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top';
- var SELECTOR_STICKY_CONTENT = '.sticky-top';
- /**
- * ------------------------------------------------------------------------
- * Class Definition
- * ------------------------------------------------------------------------
- */
-
- var Modal = /*#__PURE__*/function () {
- function Modal(element, config) {
- this._config = this._getConfig(config);
- this._element = element;
- this._dialog = element.querySelector(SELECTOR_DIALOG);
- this._backdrop = null;
- this._isShown = false;
- this._isBodyOverflowing = false;
- this._ignoreBackdropClick = false;
- this._isTransitioning = false;
- this._scrollbarWidth = 0;
- } // Getters
-
-
- var _proto = Modal.prototype;
-
- // Public
- _proto.toggle = function toggle(relatedTarget) {
- return this._isShown ? this.hide() : this.show(relatedTarget);
- };
+ --this.size;
+ return true;
+ }
- _proto.show = function show(relatedTarget) {
- var _this = this;
+ /**
+ * Gets the list cache value for `key`.
+ *
+ * @private
+ * @name get
+ * @memberOf ListCache
+ * @param {string} key The key of the value to get.
+ * @returns {*} Returns the entry value.
+ */
+ function listCacheGet(key) {
+ var data = this.__data__,
+ index = assocIndexOf(data, key);
- if (this._isShown || this._isTransitioning) {
- return;
- }
+ return index < 0 ? undefined : data[index][1];
+ }
- if ($__default['default'](this._element).hasClass(CLASS_NAME_FADE$1)) {
- this._isTransitioning = true;
- }
+ /**
+ * Checks if a list cache value for `key` exists.
+ *
+ * @private
+ * @name has
+ * @memberOf ListCache
+ * @param {string} key The key of the entry to check.
+ * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.
+ */
+ function listCacheHas(key) {
+ return assocIndexOf(this.__data__, key) > -1;
+ }
- var showEvent = $__default['default'].Event(EVENT_SHOW$2, {
- relatedTarget: relatedTarget
- });
- $__default['default'](this._element).trigger(showEvent);
+ /**
+ * Sets the list cache `key` to `value`.
+ *
+ * @private
+ * @name set
+ * @memberOf ListCache
+ * @param {string} key The key of the value to set.
+ * @param {*} value The value to set.
+ * @returns {Object} Returns the list cache instance.
+ */
+ function listCacheSet(key, value) {
+ var data = this.__data__,
+ index = assocIndexOf(data, key);
- if (this._isShown || showEvent.isDefaultPrevented()) {
- return;
+ if (index < 0) {
+ ++this.size;
+ data.push([key, value]);
+ } else {
+ data[index][1] = value;
}
+ return this;
+ }
- this._isShown = true;
-
- this._checkScrollbar();
+ // Add methods to `ListCache`.
+ ListCache.prototype.clear = listCacheClear;
+ ListCache.prototype['delete'] = listCacheDelete;
+ ListCache.prototype.get = listCacheGet;
+ ListCache.prototype.has = listCacheHas;
+ ListCache.prototype.set = listCacheSet;
- this._setScrollbar();
+ /*------------------------------------------------------------------------*/
- this._adjustDialog();
+ /**
+ * Creates a map cache object to store key-value pairs.
+ *
+ * @private
+ * @constructor
+ * @param {Array} [entries] The key-value pairs to cache.
+ */
+ function MapCache(entries) {
+ var index = -1,
+ length = entries == null ? 0 : entries.length;
- this._setEscapeEvent();
+ this.clear();
+ while (++index < length) {
+ var entry = entries[index];
+ this.set(entry[0], entry[1]);
+ }
+ }
- this._setResizeEvent();
+ /**
+ * Removes all key-value entries from the map.
+ *
+ * @private
+ * @name clear
+ * @memberOf MapCache
+ */
+ function mapCacheClear() {
+ this.size = 0;
+ this.__data__ = {
+ 'hash': new Hash,
+ 'map': new (Map || ListCache),
+ 'string': new Hash
+ };
+ }
- $__default['default'](this._element).on(EVENT_CLICK_DISMISS, SELECTOR_DATA_DISMISS, function (event) {
- return _this.hide(event);
- });
- $__default['default'](this._dialog).on(EVENT_MOUSEDOWN_DISMISS, function () {
- $__default['default'](_this._element).one(EVENT_MOUSEUP_DISMISS, function (event) {
- if ($__default['default'](event.target).is(_this._element)) {
- _this._ignoreBackdropClick = true;
- }
- });
- });
+ /**
+ * Removes `key` and its value from the map.
+ *
+ * @private
+ * @name delete
+ * @memberOf MapCache
+ * @param {string} key The key of the value to remove.
+ * @returns {boolean} Returns `true` if the entry was removed, else `false`.
+ */
+ function mapCacheDelete(key) {
+ var result = getMapData(this, key)['delete'](key);
+ this.size -= result ? 1 : 0;
+ return result;
+ }
- this._showBackdrop(function () {
- return _this._showElement(relatedTarget);
- });
- };
+ /**
+ * Gets the map value for `key`.
+ *
+ * @private
+ * @name get
+ * @memberOf MapCache
+ * @param {string} key The key of the value to get.
+ * @returns {*} Returns the entry value.
+ */
+ function mapCacheGet(key) {
+ return getMapData(this, key).get(key);
+ }
- _proto.hide = function hide(event) {
- var _this2 = this;
+ /**
+ * Checks if a map value for `key` exists.
+ *
+ * @private
+ * @name has
+ * @memberOf MapCache
+ * @param {string} key The key of the entry to check.
+ * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.
+ */
+ function mapCacheHas(key) {
+ return getMapData(this, key).has(key);
+ }
- if (event) {
- event.preventDefault();
- }
+ /**
+ * Sets the map `key` to `value`.
+ *
+ * @private
+ * @name set
+ * @memberOf MapCache
+ * @param {string} key The key of the value to set.
+ * @param {*} value The value to set.
+ * @returns {Object} Returns the map cache instance.
+ */
+ function mapCacheSet(key, value) {
+ var data = getMapData(this, key),
+ size = data.size;
- if (!this._isShown || this._isTransitioning) {
- return;
- }
+ data.set(key, value);
+ this.size += data.size == size ? 0 : 1;
+ return this;
+ }
- var hideEvent = $__default['default'].Event(EVENT_HIDE$2);
- $__default['default'](this._element).trigger(hideEvent);
+ // Add methods to `MapCache`.
+ MapCache.prototype.clear = mapCacheClear;
+ MapCache.prototype['delete'] = mapCacheDelete;
+ MapCache.prototype.get = mapCacheGet;
+ MapCache.prototype.has = mapCacheHas;
+ MapCache.prototype.set = mapCacheSet;
- if (!this._isShown || hideEvent.isDefaultPrevented()) {
- return;
- }
+ /*------------------------------------------------------------------------*/
- this._isShown = false;
- var transition = $__default['default'](this._element).hasClass(CLASS_NAME_FADE$1);
+ /**
+ *
+ * Creates an array cache object to store unique values.
+ *
+ * @private
+ * @constructor
+ * @param {Array} [values] The values to cache.
+ */
+ function SetCache(values) {
+ var index = -1,
+ length = values == null ? 0 : values.length;
- if (transition) {
- this._isTransitioning = true;
+ this.__data__ = new MapCache;
+ while (++index < length) {
+ this.add(values[index]);
}
+ }
- this._setEscapeEvent();
-
- this._setResizeEvent();
-
- $__default['default'](document).off(EVENT_FOCUSIN);
- $__default['default'](this._element).removeClass(CLASS_NAME_SHOW$3);
- $__default['default'](this._element).off(EVENT_CLICK_DISMISS);
- $__default['default'](this._dialog).off(EVENT_MOUSEDOWN_DISMISS);
-
- if (transition) {
- var transitionDuration = Util.getTransitionDurationFromElement(this._element);
- $__default['default'](this._element).one(Util.TRANSITION_END, function (event) {
- return _this2._hideModal(event);
- }).emulateTransitionEnd(transitionDuration);
- } else {
- this._hideModal();
- }
- };
-
- _proto.dispose = function dispose() {
- [window, this._element, this._dialog].forEach(function (htmlElement) {
- return $__default['default'](htmlElement).off(EVENT_KEY$5);
- });
- /**
- * `document` has 2 events `EVENT_FOCUSIN` and `EVENT_CLICK_DATA_API`
- * Do not move `document` in `htmlElements` array
- * It will remove `EVENT_CLICK_DATA_API` event that should remain
- */
-
- $__default['default'](document).off(EVENT_FOCUSIN);
- $__default['default'].removeData(this._element, DATA_KEY$5);
- this._config = null;
- this._element = null;
- this._dialog = null;
- this._backdrop = null;
- this._isShown = null;
- this._isBodyOverflowing = null;
- this._ignoreBackdropClick = null;
- this._isTransitioning = null;
- this._scrollbarWidth = null;
- };
-
- _proto.handleUpdate = function handleUpdate() {
- this._adjustDialog();
- } // Private
- ;
+ /**
+ * Adds `value` to the array cache.
+ *
+ * @private
+ * @name add
+ * @memberOf SetCache
+ * @alias push
+ * @param {*} value The value to cache.
+ * @returns {Object} Returns the cache instance.
+ */
+ function setCacheAdd(value) {
+ this.__data__.set(value, HASH_UNDEFINED);
+ return this;
+ }
- _proto._getConfig = function _getConfig(config) {
- config = _extends({}, Default$3, config);
- Util.typeCheckConfig(NAME$5, config, DefaultType$3);
- return config;
- };
+ /**
+ * Checks if `value` is in the array cache.
+ *
+ * @private
+ * @name has
+ * @memberOf SetCache
+ * @param {*} value The value to search for.
+ * @returns {number} Returns `true` if `value` is found, else `false`.
+ */
+ function setCacheHas(value) {
+ return this.__data__.has(value);
+ }
- _proto._triggerBackdropTransition = function _triggerBackdropTransition() {
- var _this3 = this;
+ // Add methods to `SetCache`.
+ SetCache.prototype.add = SetCache.prototype.push = setCacheAdd;
+ SetCache.prototype.has = setCacheHas;
- if (this._config.backdrop === 'static') {
- var hideEventPrevented = $__default['default'].Event(EVENT_HIDE_PREVENTED);
- $__default['default'](this._element).trigger(hideEventPrevented);
+ /*------------------------------------------------------------------------*/
- if (hideEventPrevented.isDefaultPrevented()) {
- return;
- }
+ /**
+ * Creates a stack cache object to store key-value pairs.
+ *
+ * @private
+ * @constructor
+ * @param {Array} [entries] The key-value pairs to cache.
+ */
+ function Stack(entries) {
+ var data = this.__data__ = new ListCache(entries);
+ this.size = data.size;
+ }
- var isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight;
+ /**
+ * Removes all key-value entries from the stack.
+ *
+ * @private
+ * @name clear
+ * @memberOf Stack
+ */
+ function stackClear() {
+ this.__data__ = new ListCache;
+ this.size = 0;
+ }
- if (!isModalOverflowing) {
- this._element.style.overflowY = 'hidden';
- }
+ /**
+ * Removes `key` and its value from the stack.
+ *
+ * @private
+ * @name delete
+ * @memberOf Stack
+ * @param {string} key The key of the value to remove.
+ * @returns {boolean} Returns `true` if the entry was removed, else `false`.
+ */
+ function stackDelete(key) {
+ var data = this.__data__,
+ result = data['delete'](key);
- this._element.classList.add(CLASS_NAME_STATIC);
+ this.size = data.size;
+ return result;
+ }
- var modalTransitionDuration = Util.getTransitionDurationFromElement(this._dialog);
- $__default['default'](this._element).off(Util.TRANSITION_END);
- $__default['default'](this._element).one(Util.TRANSITION_END, function () {
- _this3._element.classList.remove(CLASS_NAME_STATIC);
+ /**
+ * Gets the stack value for `key`.
+ *
+ * @private
+ * @name get
+ * @memberOf Stack
+ * @param {string} key The key of the value to get.
+ * @returns {*} Returns the entry value.
+ */
+ function stackGet(key) {
+ return this.__data__.get(key);
+ }
- if (!isModalOverflowing) {
- $__default['default'](_this3._element).one(Util.TRANSITION_END, function () {
- _this3._element.style.overflowY = '';
- }).emulateTransitionEnd(_this3._element, modalTransitionDuration);
- }
- }).emulateTransitionEnd(modalTransitionDuration);
+ /**
+ * Checks if a stack value for `key` exists.
+ *
+ * @private
+ * @name has
+ * @memberOf Stack
+ * @param {string} key The key of the entry to check.
+ * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.
+ */
+ function stackHas(key) {
+ return this.__data__.has(key);
+ }
- this._element.focus();
- } else {
- this.hide();
+ /**
+ * Sets the stack `key` to `value`.
+ *
+ * @private
+ * @name set
+ * @memberOf Stack
+ * @param {string} key The key of the value to set.
+ * @param {*} value The value to set.
+ * @returns {Object} Returns the stack cache instance.
+ */
+ function stackSet(key, value) {
+ var data = this.__data__;
+ if (data instanceof ListCache) {
+ var pairs = data.__data__;
+ if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {
+ pairs.push([key, value]);
+ this.size = ++data.size;
+ return this;
+ }
+ data = this.__data__ = new MapCache(pairs);
}
- };
-
- _proto._showElement = function _showElement(relatedTarget) {
- var _this4 = this;
+ data.set(key, value);
+ this.size = data.size;
+ return this;
+ }
- var transition = $__default['default'](this._element).hasClass(CLASS_NAME_FADE$1);
- var modalBody = this._dialog ? this._dialog.querySelector(SELECTOR_MODAL_BODY) : null;
+ // Add methods to `Stack`.
+ Stack.prototype.clear = stackClear;
+ Stack.prototype['delete'] = stackDelete;
+ Stack.prototype.get = stackGet;
+ Stack.prototype.has = stackHas;
+ Stack.prototype.set = stackSet;
- if (!this._element.parentNode || this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {
- // Don't move modal's DOM position
- document.body.appendChild(this._element);
- }
+ /*------------------------------------------------------------------------*/
- this._element.style.display = 'block';
+ /**
+ * Creates an array of the enumerable property names of the array-like `value`.
+ *
+ * @private
+ * @param {*} value The value to query.
+ * @param {boolean} inherited Specify returning inherited property names.
+ * @returns {Array} Returns the array of property names.
+ */
+ function arrayLikeKeys(value, inherited) {
+ var isArr = isArray(value),
+ isArg = !isArr && isArguments(value),
+ isBuff = !isArr && !isArg && isBuffer(value),
+ isType = !isArr && !isArg && !isBuff && isTypedArray(value),
+ skipIndexes = isArr || isArg || isBuff || isType,
+ result = skipIndexes ? baseTimes(value.length, String) : [],
+ length = result.length;
- this._element.removeAttribute('aria-hidden');
+ for (var key in value) {
+ if ((inherited || hasOwnProperty.call(value, key)) &&
+ !(skipIndexes && (
+ // Safari 9 has enumerable `arguments.length` in strict mode.
+ key == 'length' ||
+ // Node.js 0.10 has enumerable non-index properties on buffers.
+ (isBuff && (key == 'offset' || key == 'parent')) ||
+ // PhantomJS 2 has enumerable non-index properties on typed arrays.
+ (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) ||
+ // Skip index properties.
+ isIndex(key, length)
+ ))) {
+ result.push(key);
+ }
+ }
+ return result;
+ }
- this._element.setAttribute('aria-modal', true);
+ /**
+ * A specialized version of `_.sample` for arrays.
+ *
+ * @private
+ * @param {Array} array The array to sample.
+ * @returns {*} Returns the random element.
+ */
+ function arraySample(array) {
+ var length = array.length;
+ return length ? array[baseRandom(0, length - 1)] : undefined;
+ }
- this._element.setAttribute('role', 'dialog');
+ /**
+ * A specialized version of `_.sampleSize` for arrays.
+ *
+ * @private
+ * @param {Array} array The array to sample.
+ * @param {number} n The number of elements to sample.
+ * @returns {Array} Returns the random elements.
+ */
+ function arraySampleSize(array, n) {
+ return shuffleSelf(copyArray(array), baseClamp(n, 0, array.length));
+ }
- if ($__default['default'](this._dialog).hasClass(CLASS_NAME_SCROLLABLE) && modalBody) {
- modalBody.scrollTop = 0;
- } else {
- this._element.scrollTop = 0;
- }
+ /**
+ * A specialized version of `_.shuffle` for arrays.
+ *
+ * @private
+ * @param {Array} array The array to shuffle.
+ * @returns {Array} Returns the new shuffled array.
+ */
+ function arrayShuffle(array) {
+ return shuffleSelf(copyArray(array));
+ }
- if (transition) {
- Util.reflow(this._element);
+ /**
+ * This function is like `assignValue` except that it doesn't assign
+ * `undefined` values.
+ *
+ * @private
+ * @param {Object} object The object to modify.
+ * @param {string} key The key of the property to assign.
+ * @param {*} value The value to assign.
+ */
+ function assignMergeValue(object, key, value) {
+ if ((value !== undefined && !eq(object[key], value)) ||
+ (value === undefined && !(key in object))) {
+ baseAssignValue(object, key, value);
}
+ }
- $__default['default'](this._element).addClass(CLASS_NAME_SHOW$3);
-
- if (this._config.focus) {
- this._enforceFocus();
+ /**
+ * Assigns `value` to `key` of `object` if the existing value is not equivalent
+ * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)
+ * for equality comparisons.
+ *
+ * @private
+ * @param {Object} object The object to modify.
+ * @param {string} key The key of the property to assign.
+ * @param {*} value The value to assign.
+ */
+ function assignValue(object, key, value) {
+ var objValue = object[key];
+ if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) ||
+ (value === undefined && !(key in object))) {
+ baseAssignValue(object, key, value);
}
+ }
- var shownEvent = $__default['default'].Event(EVENT_SHOWN$2, {
- relatedTarget: relatedTarget
- });
-
- var transitionComplete = function transitionComplete() {
- if (_this4._config.focus) {
- _this4._element.focus();
+ /**
+ * Gets the index at which the `key` is found in `array` of key-value pairs.
+ *
+ * @private
+ * @param {Array} array The array to inspect.
+ * @param {*} key The key to search for.
+ * @returns {number} Returns the index of the matched value, else `-1`.
+ */
+ function assocIndexOf(array, key) {
+ var length = array.length;
+ while (length--) {
+ if (eq(array[length][0], key)) {
+ return length;
}
+ }
+ return -1;
+ }
- _this4._isTransitioning = false;
- $__default['default'](_this4._element).trigger(shownEvent);
- };
-
- if (transition) {
- var transitionDuration = Util.getTransitionDurationFromElement(this._dialog);
- $__default['default'](this._dialog).one(Util.TRANSITION_END, transitionComplete).emulateTransitionEnd(transitionDuration);
- } else {
- transitionComplete();
- }
- };
-
- _proto._enforceFocus = function _enforceFocus() {
- var _this5 = this;
-
- $__default['default'](document).off(EVENT_FOCUSIN) // Guard against infinite focus loop
- .on(EVENT_FOCUSIN, function (event) {
- if (document !== event.target && _this5._element !== event.target && $__default['default'](_this5._element).has(event.target).length === 0) {
- _this5._element.focus();
- }
+ /**
+ * Aggregates elements of `collection` on `accumulator` with keys transformed
+ * by `iteratee` and values set by `setter`.
+ *
+ * @private
+ * @param {Array|Object} collection The collection to iterate over.
+ * @param {Function} setter The function to set `accumulator` values.
+ * @param {Function} iteratee The iteratee to transform keys.
+ * @param {Object} accumulator The initial aggregated object.
+ * @returns {Function} Returns `accumulator`.
+ */
+ function baseAggregator(collection, setter, iteratee, accumulator) {
+ baseEach(collection, function(value, key, collection) {
+ setter(accumulator, value, iteratee(value), collection);
});
- };
-
- _proto._setEscapeEvent = function _setEscapeEvent() {
- var _this6 = this;
-
- if (this._isShown) {
- $__default['default'](this._element).on(EVENT_KEYDOWN_DISMISS, function (event) {
- if (_this6._config.keyboard && event.which === ESCAPE_KEYCODE$1) {
- event.preventDefault();
+ return accumulator;
+ }
- _this6.hide();
- } else if (!_this6._config.keyboard && event.which === ESCAPE_KEYCODE$1) {
- _this6._triggerBackdropTransition();
- }
- });
- } else if (!this._isShown) {
- $__default['default'](this._element).off(EVENT_KEYDOWN_DISMISS);
- }
- };
+ /**
+ * The base implementation of `_.assign` without support for multiple sources
+ * or `customizer` functions.
+ *
+ * @private
+ * @param {Object} object The destination object.
+ * @param {Object} source The source object.
+ * @returns {Object} Returns `object`.
+ */
+ function baseAssign(object, source) {
+ return object && copyObject(source, keys(source), object);
+ }
- _proto._setResizeEvent = function _setResizeEvent() {
- var _this7 = this;
+ /**
+ * The base implementation of `_.assignIn` without support for multiple sources
+ * or `customizer` functions.
+ *
+ * @private
+ * @param {Object} object The destination object.
+ * @param {Object} source The source object.
+ * @returns {Object} Returns `object`.
+ */
+ function baseAssignIn(object, source) {
+ return object && copyObject(source, keysIn(source), object);
+ }
- if (this._isShown) {
- $__default['default'](window).on(EVENT_RESIZE, function (event) {
- return _this7.handleUpdate(event);
+ /**
+ * The base implementation of `assignValue` and `assignMergeValue` without
+ * value checks.
+ *
+ * @private
+ * @param {Object} object The object to modify.
+ * @param {string} key The key of the property to assign.
+ * @param {*} value The value to assign.
+ */
+ function baseAssignValue(object, key, value) {
+ if (key == '__proto__' && defineProperty) {
+ defineProperty(object, key, {
+ 'configurable': true,
+ 'enumerable': true,
+ 'value': value,
+ 'writable': true
});
} else {
- $__default['default'](window).off(EVENT_RESIZE);
+ object[key] = value;
}
- };
-
- _proto._hideModal = function _hideModal() {
- var _this8 = this;
-
- this._element.style.display = 'none';
-
- this._element.setAttribute('aria-hidden', true);
-
- this._element.removeAttribute('aria-modal');
-
- this._element.removeAttribute('role');
-
- this._isTransitioning = false;
-
- this._showBackdrop(function () {
- $__default['default'](document.body).removeClass(CLASS_NAME_OPEN);
-
- _this8._resetAdjustments();
-
- _this8._resetScrollbar();
+ }
- $__default['default'](_this8._element).trigger(EVENT_HIDDEN$2);
- });
- };
+ /**
+ * The base implementation of `_.at` without support for individual paths.
+ *
+ * @private
+ * @param {Object} object The object to iterate over.
+ * @param {string[]} paths The property paths to pick.
+ * @returns {Array} Returns the picked elements.
+ */
+ function baseAt(object, paths) {
+ var index = -1,
+ length = paths.length,
+ result = Array(length),
+ skip = object == null;
- _proto._removeBackdrop = function _removeBackdrop() {
- if (this._backdrop) {
- $__default['default'](this._backdrop).remove();
- this._backdrop = null;
+ while (++index < length) {
+ result[index] = skip ? undefined : get(object, paths[index]);
}
- };
-
- _proto._showBackdrop = function _showBackdrop(callback) {
- var _this9 = this;
-
- var animate = $__default['default'](this._element).hasClass(CLASS_NAME_FADE$1) ? CLASS_NAME_FADE$1 : '';
-
- if (this._isShown && this._config.backdrop) {
- this._backdrop = document.createElement('div');
- this._backdrop.className = CLASS_NAME_BACKDROP;
-
- if (animate) {
- this._backdrop.classList.add(animate);
- }
-
- $__default['default'](this._backdrop).appendTo(document.body);
- $__default['default'](this._element).on(EVENT_CLICK_DISMISS, function (event) {
- if (_this9._ignoreBackdropClick) {
- _this9._ignoreBackdropClick = false;
- return;
- }
-
- if (event.target !== event.currentTarget) {
- return;
- }
-
- _this9._triggerBackdropTransition();
- });
-
- if (animate) {
- Util.reflow(this._backdrop);
- }
-
- $__default['default'](this._backdrop).addClass(CLASS_NAME_SHOW$3);
-
- if (!callback) {
- return;
- }
+ return result;
+ }
- if (!animate) {
- callback();
- return;
+ /**
+ * The base implementation of `_.clamp` which doesn't coerce arguments.
+ *
+ * @private
+ * @param {number} number The number to clamp.
+ * @param {number} [lower] The lower bound.
+ * @param {number} upper The upper bound.
+ * @returns {number} Returns the clamped number.
+ */
+ function baseClamp(number, lower, upper) {
+ if (number === number) {
+ if (upper !== undefined) {
+ number = number <= upper ? number : upper;
}
-
- var backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop);
- $__default['default'](this._backdrop).one(Util.TRANSITION_END, callback).emulateTransitionEnd(backdropTransitionDuration);
- } else if (!this._isShown && this._backdrop) {
- $__default['default'](this._backdrop).removeClass(CLASS_NAME_SHOW$3);
-
- var callbackRemove = function callbackRemove() {
- _this9._removeBackdrop();
-
- if (callback) {
- callback();
- }
- };
-
- if ($__default['default'](this._element).hasClass(CLASS_NAME_FADE$1)) {
- var _backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop);
-
- $__default['default'](this._backdrop).one(Util.TRANSITION_END, callbackRemove).emulateTransitionEnd(_backdropTransitionDuration);
- } else {
- callbackRemove();
+ if (lower !== undefined) {
+ number = number >= lower ? number : lower;
}
- } else if (callback) {
- callback();
}
- } // ----------------------------------------------------------------------
- // the following methods are used to handle overflowing modals
- // todo (fat): these should probably be refactored out of modal.js
- // ----------------------------------------------------------------------
- ;
+ return number;
+ }
- _proto._adjustDialog = function _adjustDialog() {
- var isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight;
+ /**
+ * The base implementation of `_.clone` and `_.cloneDeep` which tracks
+ * traversed objects.
+ *
+ * @private
+ * @param {*} value The value to clone.
+ * @param {boolean} bitmask The bitmask flags.
+ * 1 - Deep clone
+ * 2 - Flatten inherited properties
+ * 4 - Clone symbols
+ * @param {Function} [customizer] The function to customize cloning.
+ * @param {string} [key] The key of `value`.
+ * @param {Object} [object] The parent object of `value`.
+ * @param {Object} [stack] Tracks traversed objects and their clone counterparts.
+ * @returns {*} Returns the cloned value.
+ */
+ function baseClone(value, bitmask, customizer, key, object, stack) {
+ var result,
+ isDeep = bitmask & CLONE_DEEP_FLAG,
+ isFlat = bitmask & CLONE_FLAT_FLAG,
+ isFull = bitmask & CLONE_SYMBOLS_FLAG;
- if (!this._isBodyOverflowing && isModalOverflowing) {
- this._element.style.paddingLeft = this._scrollbarWidth + "px";
+ if (customizer) {
+ result = object ? customizer(value, key, object, stack) : customizer(value);
}
-
- if (this._isBodyOverflowing && !isModalOverflowing) {
- this._element.style.paddingRight = this._scrollbarWidth + "px";
+ if (result !== undefined) {
+ return result;
}
- };
-
- _proto._resetAdjustments = function _resetAdjustments() {
- this._element.style.paddingLeft = '';
- this._element.style.paddingRight = '';
- };
-
- _proto._checkScrollbar = function _checkScrollbar() {
- var rect = document.body.getBoundingClientRect();
- this._isBodyOverflowing = Math.round(rect.left + rect.right) < window.innerWidth;
- this._scrollbarWidth = this._getScrollbarWidth();
- };
-
- _proto._setScrollbar = function _setScrollbar() {
- var _this10 = this;
-
- if (this._isBodyOverflowing) {
- // Note: DOMNode.style.paddingRight returns the actual value or '' if not set
- // while $(DOMNode).css('padding-right') returns the calculated value or 0 if not set
- var fixedContent = [].slice.call(document.querySelectorAll(SELECTOR_FIXED_CONTENT));
- var stickyContent = [].slice.call(document.querySelectorAll(SELECTOR_STICKY_CONTENT)); // Adjust fixed content padding
-
- $__default['default'](fixedContent).each(function (index, element) {
- var actualPadding = element.style.paddingRight;
- var calculatedPadding = $__default['default'](element).css('padding-right');
- $__default['default'](element).data('padding-right', actualPadding).css('padding-right', parseFloat(calculatedPadding) + _this10._scrollbarWidth + "px");
- }); // Adjust sticky content margin
-
- $__default['default'](stickyContent).each(function (index, element) {
- var actualMargin = element.style.marginRight;
- var calculatedMargin = $__default['default'](element).css('margin-right');
- $__default['default'](element).data('margin-right', actualMargin).css('margin-right', parseFloat(calculatedMargin) - _this10._scrollbarWidth + "px");
- }); // Adjust body padding
-
- var actualPadding = document.body.style.paddingRight;
- var calculatedPadding = $__default['default'](document.body).css('padding-right');
- $__default['default'](document.body).data('padding-right', actualPadding).css('padding-right', parseFloat(calculatedPadding) + this._scrollbarWidth + "px");
+ if (!isObject(value)) {
+ return value;
}
-
- $__default['default'](document.body).addClass(CLASS_NAME_OPEN);
- };
-
- _proto._resetScrollbar = function _resetScrollbar() {
- // Restore fixed content padding
- var fixedContent = [].slice.call(document.querySelectorAll(SELECTOR_FIXED_CONTENT));
- $__default['default'](fixedContent).each(function (index, element) {
- var padding = $__default['default'](element).data('padding-right');
- $__default['default'](element).removeData('padding-right');
- element.style.paddingRight = padding ? padding : '';
- }); // Restore sticky content
-
- var elements = [].slice.call(document.querySelectorAll("" + SELECTOR_STICKY_CONTENT));
- $__default['default'](elements).each(function (index, element) {
- var margin = $__default['default'](element).data('margin-right');
-
- if (typeof margin !== 'undefined') {
- $__default['default'](element).css('margin-right', margin).removeData('margin-right');
+ var isArr = isArray(value);
+ if (isArr) {
+ result = initCloneArray(value);
+ if (!isDeep) {
+ return copyArray(value, result);
}
- }); // Restore body padding
-
- var padding = $__default['default'](document.body).data('padding-right');
- $__default['default'](document.body).removeData('padding-right');
- document.body.style.paddingRight = padding ? padding : '';
- };
+ } else {
+ var tag = getTag(value),
+ isFunc = tag == funcTag || tag == genTag;
- _proto._getScrollbarWidth = function _getScrollbarWidth() {
- // thx d.walsh
- var scrollDiv = document.createElement('div');
- scrollDiv.className = CLASS_NAME_SCROLLBAR_MEASURER;
- document.body.appendChild(scrollDiv);
- var scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth;
- document.body.removeChild(scrollDiv);
- return scrollbarWidth;
- } // Static
- ;
-
- Modal._jQueryInterface = function _jQueryInterface(config, relatedTarget) {
- return this.each(function () {
- var data = $__default['default'](this).data(DATA_KEY$5);
-
- var _config = _extends({}, Default$3, $__default['default'](this).data(), typeof config === 'object' && config ? config : {});
-
- if (!data) {
- data = new Modal(this, _config);
- $__default['default'](this).data(DATA_KEY$5, data);
+ if (isBuffer(value)) {
+ return cloneBuffer(value, isDeep);
}
-
- if (typeof config === 'string') {
- if (typeof data[config] === 'undefined') {
- throw new TypeError("No method named \"" + config + "\"");
+ if (tag == objectTag || tag == argsTag || (isFunc && !object)) {
+ result = (isFlat || isFunc) ? {} : initCloneObject(value);
+ if (!isDeep) {
+ return isFlat
+ ? copySymbolsIn(value, baseAssignIn(result, value))
+ : copySymbols(value, baseAssign(result, value));
}
-
- data[config](relatedTarget);
- } else if (_config.show) {
- data.show(relatedTarget);
+ } else {
+ if (!cloneableTags[tag]) {
+ return object ? value : {};
+ }
+ result = initCloneByTag(value, tag, isDeep);
}
- });
- };
-
- _createClass(Modal, null, [{
- key: "VERSION",
- get: function get() {
- return VERSION$5;
}
- }, {
- key: "Default",
- get: function get() {
- return Default$3;
+ // Check for circular references and return its corresponding clone.
+ stack || (stack = new Stack);
+ var stacked = stack.get(value);
+ if (stacked) {
+ return stacked;
}
- }]);
-
- return Modal;
- }();
- /**
- * ------------------------------------------------------------------------
- * Data Api implementation
- * ------------------------------------------------------------------------
- */
-
-
- $__default['default'](document).on(EVENT_CLICK_DATA_API$5, SELECTOR_DATA_TOGGLE$3, function (event) {
- var _this11 = this;
-
- var target;
- var selector = Util.getSelectorFromElement(this);
-
- if (selector) {
- target = document.querySelector(selector);
- }
-
- var config = $__default['default'](target).data(DATA_KEY$5) ? 'toggle' : _extends({}, $__default['default'](target).data(), $__default['default'](this).data());
-
- if (this.tagName === 'A' || this.tagName === 'AREA') {
- event.preventDefault();
- }
+ stack.set(value, result);
- var $target = $__default['default'](target).one(EVENT_SHOW$2, function (showEvent) {
- if (showEvent.isDefaultPrevented()) {
- // Only register focus restorer if modal will actually get shown
- return;
+ if (isSet(value)) {
+ value.forEach(function(subValue) {
+ result.add(baseClone(subValue, bitmask, customizer, subValue, value, stack));
+ });
+ } else if (isMap(value)) {
+ value.forEach(function(subValue, key) {
+ result.set(key, baseClone(subValue, bitmask, customizer, key, value, stack));
+ });
}
- $target.one(EVENT_HIDDEN$2, function () {
- if ($__default['default'](_this11).is(':visible')) {
- _this11.focus();
+ var keysFunc = isFull
+ ? (isFlat ? getAllKeysIn : getAllKeys)
+ : (isFlat ? keysIn : keys);
+
+ var props = isArr ? undefined : keysFunc(value);
+ arrayEach(props || value, function(subValue, key) {
+ if (props) {
+ key = subValue;
+ subValue = value[key];
}
+ // Recursively populate clone (susceptible to call stack limits).
+ assignValue(result, key, baseClone(subValue, bitmask, customizer, key, value, stack));
});
- });
+ return result;
+ }
- Modal._jQueryInterface.call($__default['default'](target), config, this);
- });
- /**
- * ------------------------------------------------------------------------
- * jQuery
- * ------------------------------------------------------------------------
- */
-
- $__default['default'].fn[NAME$5] = Modal._jQueryInterface;
- $__default['default'].fn[NAME$5].Constructor = Modal;
-
- $__default['default'].fn[NAME$5].noConflict = function () {
- $__default['default'].fn[NAME$5] = JQUERY_NO_CONFLICT$5;
- return Modal._jQueryInterface;
- };
-
- /**
- * --------------------------------------------------------------------------
- * Bootstrap (v4.5.3): tools/sanitizer.js
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
- * --------------------------------------------------------------------------
- */
- var uriAttrs = ['background', 'cite', 'href', 'itemtype', 'longdesc', 'poster', 'src', 'xlink:href'];
- var ARIA_ATTRIBUTE_PATTERN = /^aria-[\w-]*$/i;
- var DefaultWhitelist = {
- // Global attributes allowed on any supplied element below.
- '*': ['class', 'dir', 'id', 'lang', 'role', ARIA_ATTRIBUTE_PATTERN],
- a: ['target', 'href', 'title', 'rel'],
- area: [],
- b: [],
- br: [],
- col: [],
- code: [],
- div: [],
- em: [],
- hr: [],
- h1: [],
- h2: [],
- h3: [],
- h4: [],
- h5: [],
- h6: [],
- i: [],
- img: ['src', 'srcset', 'alt', 'title', 'width', 'height'],
- li: [],
- ol: [],
- p: [],
- pre: [],
- s: [],
- small: [],
- span: [],
- sub: [],
- sup: [],
- strong: [],
- u: [],
- ul: []
- };
- /**
- * A pattern that recognizes a commonly useful subset of URLs that are safe.
- *
- * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts
- */
-
- var SAFE_URL_PATTERN = /^(?:(?:https?|mailto|ftp|tel|file):|[^#&/:?]*(?:[#/?]|$))/gi;
- /**
- * A pattern that matches safe data URLs. Only matches image, video and audio types.
- *
- * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts
- */
-
- var DATA_URL_PATTERN = /^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[\d+/a-z]+=*$/i;
-
- function allowedAttribute(attr, allowedAttributeList) {
- var attrName = attr.nodeName.toLowerCase();
+ /**
+ * The base implementation of `_.conforms` which doesn't clone `source`.
+ *
+ * @private
+ * @param {Object} source The object of property predicates to conform to.
+ * @returns {Function} Returns the new spec function.
+ */
+ function baseConforms(source) {
+ var props = keys(source);
+ return function(object) {
+ return baseConformsTo(object, source, props);
+ };
+ }
- if (allowedAttributeList.indexOf(attrName) !== -1) {
- if (uriAttrs.indexOf(attrName) !== -1) {
- return Boolean(attr.nodeValue.match(SAFE_URL_PATTERN) || attr.nodeValue.match(DATA_URL_PATTERN));
+ /**
+ * The base implementation of `_.conformsTo` which accepts `props` to check.
+ *
+ * @private
+ * @param {Object} object The object to inspect.
+ * @param {Object} source The object of property predicates to conform to.
+ * @returns {boolean} Returns `true` if `object` conforms, else `false`.
+ */
+ function baseConformsTo(object, source, props) {
+ var length = props.length;
+ if (object == null) {
+ return !length;
}
+ object = Object(object);
+ while (length--) {
+ var key = props[length],
+ predicate = source[key],
+ value = object[key];
+ if ((value === undefined && !(key in object)) || !predicate(value)) {
+ return false;
+ }
+ }
return true;
}
- var regExp = allowedAttributeList.filter(function (attrRegex) {
- return attrRegex instanceof RegExp;
- }); // Check if a regular expression validates the attribute.
-
- for (var i = 0, len = regExp.length; i < len; i++) {
- if (attrName.match(regExp[i])) {
- return true;
+ /**
+ * The base implementation of `_.delay` and `_.defer` which accepts `args`
+ * to provide to `func`.
+ *
+ * @private
+ * @param {Function} func The function to delay.
+ * @param {number} wait The number of milliseconds to delay invocation.
+ * @param {Array} args The arguments to provide to `func`.
+ * @returns {number|Object} Returns the timer id or timeout object.
+ */
+ function baseDelay(func, wait, args) {
+ if (typeof func != 'function') {
+ throw new TypeError(FUNC_ERROR_TEXT);
}
+ return setTimeout(function() { func.apply(undefined, args); }, wait);
}
- return false;
- }
-
- function sanitizeHtml(unsafeHtml, whiteList, sanitizeFn) {
- if (unsafeHtml.length === 0) {
- return unsafeHtml;
- }
-
- if (sanitizeFn && typeof sanitizeFn === 'function') {
- return sanitizeFn(unsafeHtml);
- }
-
- var domParser = new window.DOMParser();
- var createdDocument = domParser.parseFromString(unsafeHtml, 'text/html');
- var whitelistKeys = Object.keys(whiteList);
- var elements = [].slice.call(createdDocument.body.querySelectorAll('*'));
-
- var _loop = function _loop(i, len) {
- var el = elements[i];
- var elName = el.nodeName.toLowerCase();
+ /**
+ * The base implementation of methods like `_.difference` without support
+ * for excluding multiple arrays or iteratee shorthands.
+ *
+ * @private
+ * @param {Array} array The array to inspect.
+ * @param {Array} values The values to exclude.
+ * @param {Function} [iteratee] The iteratee invoked per element.
+ * @param {Function} [comparator] The comparator invoked per element.
+ * @returns {Array} Returns the new array of filtered values.
+ */
+ function baseDifference(array, values, iteratee, comparator) {
+ var index = -1,
+ includes = arrayIncludes,
+ isCommon = true,
+ length = array.length,
+ result = [],
+ valuesLength = values.length;
- if (whitelistKeys.indexOf(el.nodeName.toLowerCase()) === -1) {
- el.parentNode.removeChild(el);
- return "continue";
+ if (!length) {
+ return result;
}
+ if (iteratee) {
+ values = arrayMap(values, baseUnary(iteratee));
+ }
+ if (comparator) {
+ includes = arrayIncludesWith;
+ isCommon = false;
+ }
+ else if (values.length >= LARGE_ARRAY_SIZE) {
+ includes = cacheHas;
+ isCommon = false;
+ values = new SetCache(values);
+ }
+ outer:
+ while (++index < length) {
+ var value = array[index],
+ computed = iteratee == null ? value : iteratee(value);
- var attributeList = [].slice.call(el.attributes);
- var whitelistedAttributes = [].concat(whiteList['*'] || [], whiteList[elName] || []);
- attributeList.forEach(function (attr) {
- if (!allowedAttribute(attr, whitelistedAttributes)) {
- el.removeAttribute(attr.nodeName);
+ value = (comparator || value !== 0) ? value : 0;
+ if (isCommon && computed === computed) {
+ var valuesIndex = valuesLength;
+ while (valuesIndex--) {
+ if (values[valuesIndex] === computed) {
+ continue outer;
+ }
+ }
+ result.push(value);
}
- });
- };
-
- for (var i = 0, len = elements.length; i < len; i++) {
- var _ret = _loop(i);
-
- if (_ret === "continue") continue;
+ else if (!includes(values, computed, comparator)) {
+ result.push(value);
+ }
+ }
+ return result;
}
- return createdDocument.body.innerHTML;
- }
-
- /**
- * ------------------------------------------------------------------------
- * Constants
- * ------------------------------------------------------------------------
- */
-
- var NAME$6 = 'tooltip';
- var VERSION$6 = '4.5.3';
- var DATA_KEY$6 = 'bs.tooltip';
- var EVENT_KEY$6 = "." + DATA_KEY$6;
- var JQUERY_NO_CONFLICT$6 = $__default['default'].fn[NAME$6];
- var CLASS_PREFIX = 'bs-tooltip';
- var BSCLS_PREFIX_REGEX = new RegExp("(^|\\s)" + CLASS_PREFIX + "\\S+", 'g');
- var DISALLOWED_ATTRIBUTES = ['sanitize', 'whiteList', 'sanitizeFn'];
- var DefaultType$4 = {
- animation: 'boolean',
- template: 'string',
- title: '(string|element|function)',
- trigger: 'string',
- delay: '(number|object)',
- html: 'boolean',
- selector: '(string|boolean)',
- placement: '(string|function)',
- offset: '(number|string|function)',
- container: '(string|element|boolean)',
- fallbackPlacement: '(string|array)',
- boundary: '(string|element)',
- sanitize: 'boolean',
- sanitizeFn: '(null|function)',
- whiteList: 'object',
- popperConfig: '(null|object)'
- };
- var AttachmentMap = {
- AUTO: 'auto',
- TOP: 'top',
- RIGHT: 'right',
- BOTTOM: 'bottom',
- LEFT: 'left'
- };
- var Default$4 = {
- animation: true,
- template: '',
- trigger: 'hover focus',
- title: '',
- delay: 0,
- html: false,
- selector: false,
- placement: 'top',
- offset: 0,
- container: false,
- fallbackPlacement: 'flip',
- boundary: 'scrollParent',
- sanitize: true,
- sanitizeFn: null,
- whiteList: DefaultWhitelist,
- popperConfig: null
- };
- var HOVER_STATE_SHOW = 'show';
- var HOVER_STATE_OUT = 'out';
- var Event = {
- HIDE: "hide" + EVENT_KEY$6,
- HIDDEN: "hidden" + EVENT_KEY$6,
- SHOW: "show" + EVENT_KEY$6,
- SHOWN: "shown" + EVENT_KEY$6,
- INSERTED: "inserted" + EVENT_KEY$6,
- CLICK: "click" + EVENT_KEY$6,
- FOCUSIN: "focusin" + EVENT_KEY$6,
- FOCUSOUT: "focusout" + EVENT_KEY$6,
- MOUSEENTER: "mouseenter" + EVENT_KEY$6,
- MOUSELEAVE: "mouseleave" + EVENT_KEY$6
- };
- var CLASS_NAME_FADE$2 = 'fade';
- var CLASS_NAME_SHOW$4 = 'show';
- var SELECTOR_TOOLTIP_INNER = '.tooltip-inner';
- var SELECTOR_ARROW = '.arrow';
- var TRIGGER_HOVER = 'hover';
- var TRIGGER_FOCUS = 'focus';
- var TRIGGER_CLICK = 'click';
- var TRIGGER_MANUAL = 'manual';
- /**
- * ------------------------------------------------------------------------
- * Class Definition
- * ------------------------------------------------------------------------
- */
-
- var Tooltip = /*#__PURE__*/function () {
- function Tooltip(element, config) {
- if (typeof Popper__default['default'] === 'undefined') {
- throw new TypeError('Bootstrap\'s tooltips require Popper.js (https://popper.js.org/)');
- } // private
-
-
- this._isEnabled = true;
- this._timeout = 0;
- this._hoverState = '';
- this._activeTrigger = {};
- this._popper = null; // Protected
-
- this.element = element;
- this.config = this._getConfig(config);
- this.tip = null;
-
- this._setListeners();
- } // Getters
-
-
- var _proto = Tooltip.prototype;
-
- // Public
- _proto.enable = function enable() {
- this._isEnabled = true;
- };
-
- _proto.disable = function disable() {
- this._isEnabled = false;
- };
-
- _proto.toggleEnabled = function toggleEnabled() {
- this._isEnabled = !this._isEnabled;
- };
-
- _proto.toggle = function toggle(event) {
- if (!this._isEnabled) {
- return;
- }
+ /**
+ * The base implementation of `_.forEach` without support for iteratee shorthands.
+ *
+ * @private
+ * @param {Array|Object} collection The collection to iterate over.
+ * @param {Function} iteratee The function invoked per iteration.
+ * @returns {Array|Object} Returns `collection`.
+ */
+ var baseEach = createBaseEach(baseForOwn);
- if (event) {
- var dataKey = this.constructor.DATA_KEY;
- var context = $__default['default'](event.currentTarget).data(dataKey);
+ /**
+ * The base implementation of `_.forEachRight` without support for iteratee shorthands.
+ *
+ * @private
+ * @param {Array|Object} collection The collection to iterate over.
+ * @param {Function} iteratee The function invoked per iteration.
+ * @returns {Array|Object} Returns `collection`.
+ */
+ var baseEachRight = createBaseEach(baseForOwnRight, true);
- if (!context) {
- context = new this.constructor(event.currentTarget, this._getDelegateConfig());
- $__default['default'](event.currentTarget).data(dataKey, context);
- }
+ /**
+ * The base implementation of `_.every` without support for iteratee shorthands.
+ *
+ * @private
+ * @param {Array|Object} collection The collection to iterate over.
+ * @param {Function} predicate The function invoked per iteration.
+ * @returns {boolean} Returns `true` if all elements pass the predicate check,
+ * else `false`
+ */
+ function baseEvery(collection, predicate) {
+ var result = true;
+ baseEach(collection, function(value, index, collection) {
+ result = !!predicate(value, index, collection);
+ return result;
+ });
+ return result;
+ }
- context._activeTrigger.click = !context._activeTrigger.click;
+ /**
+ * The base implementation of methods like `_.max` and `_.min` which accepts a
+ * `comparator` to determine the extremum value.
+ *
+ * @private
+ * @param {Array} array The array to iterate over.
+ * @param {Function} iteratee The iteratee invoked per iteration.
+ * @param {Function} comparator The comparator used to compare values.
+ * @returns {*} Returns the extremum value.
+ */
+ function baseExtremum(array, iteratee, comparator) {
+ var index = -1,
+ length = array.length;
- if (context._isWithActiveTrigger()) {
- context._enter(null, context);
- } else {
- context._leave(null, context);
- }
- } else {
- if ($__default['default'](this.getTipElement()).hasClass(CLASS_NAME_SHOW$4)) {
- this._leave(null, this);
+ while (++index < length) {
+ var value = array[index],
+ current = iteratee(value);
- return;
+ if (current != null && (computed === undefined
+ ? (current === current && !isSymbol(current))
+ : comparator(current, computed)
+ )) {
+ var computed = current,
+ result = value;
}
-
- this._enter(null, this);
}
- };
+ return result;
+ }
- _proto.dispose = function dispose() {
- clearTimeout(this._timeout);
- $__default['default'].removeData(this.element, this.constructor.DATA_KEY);
- $__default['default'](this.element).off(this.constructor.EVENT_KEY);
- $__default['default'](this.element).closest('.modal').off('hide.bs.modal', this._hideModalHandler);
+ /**
+ * The base implementation of `_.fill` without an iteratee call guard.
+ *
+ * @private
+ * @param {Array} array The array to fill.
+ * @param {*} value The value to fill `array` with.
+ * @param {number} [start=0] The start position.
+ * @param {number} [end=array.length] The end position.
+ * @returns {Array} Returns `array`.
+ */
+ function baseFill(array, value, start, end) {
+ var length = array.length;
- if (this.tip) {
- $__default['default'](this.tip).remove();
+ start = toInteger(start);
+ if (start < 0) {
+ start = -start > length ? 0 : (length + start);
}
-
- this._isEnabled = null;
- this._timeout = null;
- this._hoverState = null;
- this._activeTrigger = null;
-
- if (this._popper) {
- this._popper.destroy();
+ end = (end === undefined || end > length) ? length : toInteger(end);
+ if (end < 0) {
+ end += length;
}
-
- this._popper = null;
- this.element = null;
- this.config = null;
- this.tip = null;
- };
-
- _proto.show = function show() {
- var _this = this;
-
- if ($__default['default'](this.element).css('display') === 'none') {
- throw new Error('Please use show on visible elements');
+ end = start > end ? 0 : toLength(end);
+ while (start < end) {
+ array[start++] = value;
}
+ return array;
+ }
- var showEvent = $__default['default'].Event(this.constructor.Event.SHOW);
-
- if (this.isWithContent() && this._isEnabled) {
- $__default['default'](this.element).trigger(showEvent);
- var shadowRoot = Util.findShadowRoot(this.element);
- var isInTheDom = $__default['default'].contains(shadowRoot !== null ? shadowRoot : this.element.ownerDocument.documentElement, this.element);
-
- if (showEvent.isDefaultPrevented() || !isInTheDom) {
- return;
- }
-
- var tip = this.getTipElement();
- var tipId = Util.getUID(this.constructor.NAME);
- tip.setAttribute('id', tipId);
- this.element.setAttribute('aria-describedby', tipId);
- this.setContent();
-
- if (this.config.animation) {
- $__default['default'](tip).addClass(CLASS_NAME_FADE$2);
- }
-
- var placement = typeof this.config.placement === 'function' ? this.config.placement.call(this, tip, this.element) : this.config.placement;
-
- var attachment = this._getAttachment(placement);
-
- this.addAttachmentClass(attachment);
-
- var container = this._getContainer();
-
- $__default['default'](tip).data(this.constructor.DATA_KEY, this);
-
- if (!$__default['default'].contains(this.element.ownerDocument.documentElement, this.tip)) {
- $__default['default'](tip).appendTo(container);
- }
-
- $__default['default'](this.element).trigger(this.constructor.Event.INSERTED);
- this._popper = new Popper__default['default'](this.element, tip, this._getPopperConfig(attachment));
- $__default['default'](tip).addClass(CLASS_NAME_SHOW$4); // If this is a touch-enabled device we add extra
- // empty mouseover listeners to the body's immediate children;
- // only needed because of broken event delegation on iOS
- // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html
-
- if ('ontouchstart' in document.documentElement) {
- $__default['default'](document.body).children().on('mouseover', null, $__default['default'].noop);
+ /**
+ * The base implementation of `_.filter` without support for iteratee shorthands.
+ *
+ * @private
+ * @param {Array|Object} collection The collection to iterate over.
+ * @param {Function} predicate The function invoked per iteration.
+ * @returns {Array} Returns the new filtered array.
+ */
+ function baseFilter(collection, predicate) {
+ var result = [];
+ baseEach(collection, function(value, index, collection) {
+ if (predicate(value, index, collection)) {
+ result.push(value);
}
+ });
+ return result;
+ }
- var complete = function complete() {
- if (_this.config.animation) {
- _this._fixTransition();
- }
+ /**
+ * The base implementation of `_.flatten` with support for restricting flattening.
+ *
+ * @private
+ * @param {Array} array The array to flatten.
+ * @param {number} depth The maximum recursion depth.
+ * @param {boolean} [predicate=isFlattenable] The function invoked per iteration.
+ * @param {boolean} [isStrict] Restrict to values that pass `predicate` checks.
+ * @param {Array} [result=[]] The initial result value.
+ * @returns {Array} Returns the new flattened array.
+ */
+ function baseFlatten(array, depth, predicate, isStrict, result) {
+ var index = -1,
+ length = array.length;
- var prevHoverState = _this._hoverState;
- _this._hoverState = null;
- $__default['default'](_this.element).trigger(_this.constructor.Event.SHOWN);
+ predicate || (predicate = isFlattenable);
+ result || (result = []);
- if (prevHoverState === HOVER_STATE_OUT) {
- _this._leave(null, _this);
+ while (++index < length) {
+ var value = array[index];
+ if (depth > 0 && predicate(value)) {
+ if (depth > 1) {
+ // Recursively flatten arrays (susceptible to call stack limits).
+ baseFlatten(value, depth - 1, predicate, isStrict, result);
+ } else {
+ arrayPush(result, value);
}
- };
-
- if ($__default['default'](this.tip).hasClass(CLASS_NAME_FADE$2)) {
- var transitionDuration = Util.getTransitionDurationFromElement(this.tip);
- $__default['default'](this.tip).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);
- } else {
- complete();
+ } else if (!isStrict) {
+ result[result.length] = value;
}
}
- };
-
- _proto.hide = function hide(callback) {
- var _this2 = this;
-
- var tip = this.getTipElement();
- var hideEvent = $__default['default'].Event(this.constructor.Event.HIDE);
+ return result;
+ }
- var complete = function complete() {
- if (_this2._hoverState !== HOVER_STATE_SHOW && tip.parentNode) {
- tip.parentNode.removeChild(tip);
- }
+ /**
+ * The base implementation of `baseForOwn` which iterates over `object`
+ * properties returned by `keysFunc` and invokes `iteratee` for each property.
+ * Iteratee functions may exit iteration early by explicitly returning `false`.
+ *
+ * @private
+ * @param {Object} object The object to iterate over.
+ * @param {Function} iteratee The function invoked per iteration.
+ * @param {Function} keysFunc The function to get the keys of `object`.
+ * @returns {Object} Returns `object`.
+ */
+ var baseFor = createBaseFor();
- _this2._cleanTipClass();
+ /**
+ * This function is like `baseFor` except that it iterates over properties
+ * in the opposite order.
+ *
+ * @private
+ * @param {Object} object The object to iterate over.
+ * @param {Function} iteratee The function invoked per iteration.
+ * @param {Function} keysFunc The function to get the keys of `object`.
+ * @returns {Object} Returns `object`.
+ */
+ var baseForRight = createBaseFor(true);
- _this2.element.removeAttribute('aria-describedby');
+ /**
+ * The base implementation of `_.forOwn` without support for iteratee shorthands.
+ *
+ * @private
+ * @param {Object} object The object to iterate over.
+ * @param {Function} iteratee The function invoked per iteration.
+ * @returns {Object} Returns `object`.
+ */
+ function baseForOwn(object, iteratee) {
+ return object && baseFor(object, iteratee, keys);
+ }
- $__default['default'](_this2.element).trigger(_this2.constructor.Event.HIDDEN);
+ /**
+ * The base implementation of `_.forOwnRight` without support for iteratee shorthands.
+ *
+ * @private
+ * @param {Object} object The object to iterate over.
+ * @param {Function} iteratee The function invoked per iteration.
+ * @returns {Object} Returns `object`.
+ */
+ function baseForOwnRight(object, iteratee) {
+ return object && baseForRight(object, iteratee, keys);
+ }
- if (_this2._popper !== null) {
- _this2._popper.destroy();
- }
+ /**
+ * The base implementation of `_.functions` which creates an array of
+ * `object` function property names filtered from `props`.
+ *
+ * @private
+ * @param {Object} object The object to inspect.
+ * @param {Array} props The property names to filter.
+ * @returns {Array} Returns the function names.
+ */
+ function baseFunctions(object, props) {
+ return arrayFilter(props, function(key) {
+ return isFunction(object[key]);
+ });
+ }
- if (callback) {
- callback();
- }
- };
+ /**
+ * The base implementation of `_.get` without support for default values.
+ *
+ * @private
+ * @param {Object} object The object to query.
+ * @param {Array|string} path The path of the property to get.
+ * @returns {*} Returns the resolved value.
+ */
+ function baseGet(object, path) {
+ path = castPath(path, object);
- $__default['default'](this.element).trigger(hideEvent);
+ var index = 0,
+ length = path.length;
- if (hideEvent.isDefaultPrevented()) {
- return;
+ while (object != null && index < length) {
+ object = object[toKey(path[index++])];
}
+ return (index && index == length) ? object : undefined;
+ }
- $__default['default'](tip).removeClass(CLASS_NAME_SHOW$4); // If this is a touch-enabled device we remove the extra
- // empty mouseover listeners we added for iOS support
+ /**
+ * The base implementation of `getAllKeys` and `getAllKeysIn` which uses
+ * `keysFunc` and `symbolsFunc` to get the enumerable property names and
+ * symbols of `object`.
+ *
+ * @private
+ * @param {Object} object The object to query.
+ * @param {Function} keysFunc The function to get the keys of `object`.
+ * @param {Function} symbolsFunc The function to get the symbols of `object`.
+ * @returns {Array} Returns the array of property names and symbols.
+ */
+ function baseGetAllKeys(object, keysFunc, symbolsFunc) {
+ var result = keysFunc(object);
+ return isArray(object) ? result : arrayPush(result, symbolsFunc(object));
+ }
- if ('ontouchstart' in document.documentElement) {
- $__default['default'](document.body).children().off('mouseover', null, $__default['default'].noop);
+ /**
+ * The base implementation of `getTag` without fallbacks for buggy environments.
+ *
+ * @private
+ * @param {*} value The value to query.
+ * @returns {string} Returns the `toStringTag`.
+ */
+ function baseGetTag(value) {
+ if (value == null) {
+ return value === undefined ? undefinedTag : nullTag;
}
+ return (symToStringTag && symToStringTag in Object(value))
+ ? getRawTag(value)
+ : objectToString(value);
+ }
- this._activeTrigger[TRIGGER_CLICK] = false;
- this._activeTrigger[TRIGGER_FOCUS] = false;
- this._activeTrigger[TRIGGER_HOVER] = false;
+ /**
+ * The base implementation of `_.gt` which doesn't coerce arguments.
+ *
+ * @private
+ * @param {*} value The value to compare.
+ * @param {*} other The other value to compare.
+ * @returns {boolean} Returns `true` if `value` is greater than `other`,
+ * else `false`.
+ */
+ function baseGt(value, other) {
+ return value > other;
+ }
- if ($__default['default'](this.tip).hasClass(CLASS_NAME_FADE$2)) {
- var transitionDuration = Util.getTransitionDurationFromElement(tip);
- $__default['default'](tip).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);
- } else {
- complete();
- }
+ /**
+ * The base implementation of `_.has` without support for deep paths.
+ *
+ * @private
+ * @param {Object} [object] The object to query.
+ * @param {Array|string} key The key to check.
+ * @returns {boolean} Returns `true` if `key` exists, else `false`.
+ */
+ function baseHas(object, key) {
+ return object != null && hasOwnProperty.call(object, key);
+ }
- this._hoverState = '';
- };
+ /**
+ * The base implementation of `_.hasIn` without support for deep paths.
+ *
+ * @private
+ * @param {Object} [object] The object to query.
+ * @param {Array|string} key The key to check.
+ * @returns {boolean} Returns `true` if `key` exists, else `false`.
+ */
+ function baseHasIn(object, key) {
+ return object != null && key in Object(object);
+ }
- _proto.update = function update() {
- if (this._popper !== null) {
- this._popper.scheduleUpdate();
- }
- } // Protected
- ;
+ /**
+ * The base implementation of `_.inRange` which doesn't coerce arguments.
+ *
+ * @private
+ * @param {number} number The number to check.
+ * @param {number} start The start of the range.
+ * @param {number} end The end of the range.
+ * @returns {boolean} Returns `true` if `number` is in the range, else `false`.
+ */
+ function baseInRange(number, start, end) {
+ return number >= nativeMin(start, end) && number < nativeMax(start, end);
+ }
- _proto.isWithContent = function isWithContent() {
- return Boolean(this.getTitle());
- };
+ /**
+ * The base implementation of methods like `_.intersection`, without support
+ * for iteratee shorthands, that accepts an array of arrays to inspect.
+ *
+ * @private
+ * @param {Array} arrays The arrays to inspect.
+ * @param {Function} [iteratee] The iteratee invoked per element.
+ * @param {Function} [comparator] The comparator invoked per element.
+ * @returns {Array} Returns the new array of shared values.
+ */
+ function baseIntersection(arrays, iteratee, comparator) {
+ var includes = comparator ? arrayIncludesWith : arrayIncludes,
+ length = arrays[0].length,
+ othLength = arrays.length,
+ othIndex = othLength,
+ caches = Array(othLength),
+ maxLength = Infinity,
+ result = [];
- _proto.addAttachmentClass = function addAttachmentClass(attachment) {
- $__default['default'](this.getTipElement()).addClass(CLASS_PREFIX + "-" + attachment);
- };
+ while (othIndex--) {
+ var array = arrays[othIndex];
+ if (othIndex && iteratee) {
+ array = arrayMap(array, baseUnary(iteratee));
+ }
+ maxLength = nativeMin(array.length, maxLength);
+ caches[othIndex] = !comparator && (iteratee || (length >= 120 && array.length >= 120))
+ ? new SetCache(othIndex && array)
+ : undefined;
+ }
+ array = arrays[0];
- _proto.getTipElement = function getTipElement() {
- this.tip = this.tip || $__default['default'](this.config.template)[0];
- return this.tip;
- };
+ var index = -1,
+ seen = caches[0];
- _proto.setContent = function setContent() {
- var tip = this.getTipElement();
- this.setElementContent($__default['default'](tip.querySelectorAll(SELECTOR_TOOLTIP_INNER)), this.getTitle());
- $__default['default'](tip).removeClass(CLASS_NAME_FADE$2 + " " + CLASS_NAME_SHOW$4);
- };
+ outer:
+ while (++index < length && result.length < maxLength) {
+ var value = array[index],
+ computed = iteratee ? iteratee(value) : value;
- _proto.setElementContent = function setElementContent($element, content) {
- if (typeof content === 'object' && (content.nodeType || content.jquery)) {
- // Content is a DOM node or a jQuery
- if (this.config.html) {
- if (!$__default['default'](content).parent().is($element)) {
- $element.empty().append(content);
+ value = (comparator || value !== 0) ? value : 0;
+ if (!(seen
+ ? cacheHas(seen, computed)
+ : includes(result, computed, comparator)
+ )) {
+ othIndex = othLength;
+ while (--othIndex) {
+ var cache = caches[othIndex];
+ if (!(cache
+ ? cacheHas(cache, computed)
+ : includes(arrays[othIndex], computed, comparator))
+ ) {
+ continue outer;
+ }
}
- } else {
- $element.text($__default['default'](content).text());
- }
-
- return;
- }
-
- if (this.config.html) {
- if (this.config.sanitize) {
- content = sanitizeHtml(content, this.config.whiteList, this.config.sanitizeFn);
+ if (seen) {
+ seen.push(computed);
+ }
+ result.push(value);
}
-
- $element.html(content);
- } else {
- $element.text(content);
- }
- };
-
- _proto.getTitle = function getTitle() {
- var title = this.element.getAttribute('data-original-title');
-
- if (!title) {
- title = typeof this.config.title === 'function' ? this.config.title.call(this.element) : this.config.title;
}
+ return result;
+ }
- return title;
- } // Private
- ;
-
- _proto._getPopperConfig = function _getPopperConfig(attachment) {
- var _this3 = this;
-
- var defaultBsConfig = {
- placement: attachment,
- modifiers: {
- offset: this._getOffset(),
- flip: {
- behavior: this.config.fallbackPlacement
- },
- arrow: {
- element: SELECTOR_ARROW
- },
- preventOverflow: {
- boundariesElement: this.config.boundary
- }
- },
- onCreate: function onCreate(data) {
- if (data.originalPlacement !== data.placement) {
- _this3._handlePopperPlacementChange(data);
- }
- },
- onUpdate: function onUpdate(data) {
- return _this3._handlePopperPlacementChange(data);
- }
- };
- return _extends({}, defaultBsConfig, this.config.popperConfig);
- };
+ /**
+ * The base implementation of `_.invert` and `_.invertBy` which inverts
+ * `object` with values transformed by `iteratee` and set by `setter`.
+ *
+ * @private
+ * @param {Object} object The object to iterate over.
+ * @param {Function} setter The function to set `accumulator` values.
+ * @param {Function} iteratee The iteratee to transform values.
+ * @param {Object} accumulator The initial inverted object.
+ * @returns {Function} Returns `accumulator`.
+ */
+ function baseInverter(object, setter, iteratee, accumulator) {
+ baseForOwn(object, function(value, key, object) {
+ setter(accumulator, iteratee(value), key, object);
+ });
+ return accumulator;
+ }
- _proto._getOffset = function _getOffset() {
- var _this4 = this;
+ /**
+ * The base implementation of `_.invoke` without support for individual
+ * method arguments.
+ *
+ * @private
+ * @param {Object} object The object to query.
+ * @param {Array|string} path The path of the method to invoke.
+ * @param {Array} args The arguments to invoke the method with.
+ * @returns {*} Returns the result of the invoked method.
+ */
+ function baseInvoke(object, path, args) {
+ path = castPath(path, object);
+ object = parent(object, path);
+ var func = object == null ? object : object[toKey(last(path))];
+ return func == null ? undefined : apply(func, object, args);
+ }
- var offset = {};
+ /**
+ * The base implementation of `_.isArguments`.
+ *
+ * @private
+ * @param {*} value The value to check.
+ * @returns {boolean} Returns `true` if `value` is an `arguments` object,
+ */
+ function baseIsArguments(value) {
+ return isObjectLike(value) && baseGetTag(value) == argsTag;
+ }
- if (typeof this.config.offset === 'function') {
- offset.fn = function (data) {
- data.offsets = _extends({}, data.offsets, _this4.config.offset(data.offsets, _this4.element) || {});
- return data;
- };
- } else {
- offset.offset = this.config.offset;
- }
+ /**
+ * The base implementation of `_.isArrayBuffer` without Node.js optimizations.
+ *
+ * @private
+ * @param {*} value The value to check.
+ * @returns {boolean} Returns `true` if `value` is an array buffer, else `false`.
+ */
+ function baseIsArrayBuffer(value) {
+ return isObjectLike(value) && baseGetTag(value) == arrayBufferTag;
+ }
- return offset;
- };
+ /**
+ * The base implementation of `_.isDate` without Node.js optimizations.
+ *
+ * @private
+ * @param {*} value The value to check.
+ * @returns {boolean} Returns `true` if `value` is a date object, else `false`.
+ */
+ function baseIsDate(value) {
+ return isObjectLike(value) && baseGetTag(value) == dateTag;
+ }
- _proto._getContainer = function _getContainer() {
- if (this.config.container === false) {
- return document.body;
+ /**
+ * The base implementation of `_.isEqual` which supports partial comparisons
+ * and tracks traversed objects.
+ *
+ * @private
+ * @param {*} value The value to compare.
+ * @param {*} other The other value to compare.
+ * @param {boolean} bitmask The bitmask flags.
+ * 1 - Unordered comparison
+ * 2 - Partial comparison
+ * @param {Function} [customizer] The function to customize comparisons.
+ * @param {Object} [stack] Tracks traversed `value` and `other` objects.
+ * @returns {boolean} Returns `true` if the values are equivalent, else `false`.
+ */
+ function baseIsEqual(value, other, bitmask, customizer, stack) {
+ if (value === other) {
+ return true;
}
-
- if (Util.isElement(this.config.container)) {
- return $__default['default'](this.config.container);
+ if (value == null || other == null || (!isObjectLike(value) && !isObjectLike(other))) {
+ return value !== value && other !== other;
}
+ return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack);
+ }
- return $__default['default'](document).find(this.config.container);
- };
-
- _proto._getAttachment = function _getAttachment(placement) {
- return AttachmentMap[placement.toUpperCase()];
- };
+ /**
+ * A specialized version of `baseIsEqual` for arrays and objects which performs
+ * deep comparisons and tracks traversed objects enabling objects with circular
+ * references to be compared.
+ *
+ * @private
+ * @param {Object} object The object to compare.
+ * @param {Object} other The other object to compare.
+ * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.
+ * @param {Function} customizer The function to customize comparisons.
+ * @param {Function} equalFunc The function to determine equivalents of values.
+ * @param {Object} [stack] Tracks traversed `object` and `other` objects.
+ * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.
+ */
+ function baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) {
+ var objIsArr = isArray(object),
+ othIsArr = isArray(other),
+ objTag = objIsArr ? arrayTag : getTag(object),
+ othTag = othIsArr ? arrayTag : getTag(other);
- _proto._setListeners = function _setListeners() {
- var _this5 = this;
+ objTag = objTag == argsTag ? objectTag : objTag;
+ othTag = othTag == argsTag ? objectTag : othTag;
- var triggers = this.config.trigger.split(' ');
- triggers.forEach(function (trigger) {
- if (trigger === 'click') {
- $__default['default'](_this5.element).on(_this5.constructor.Event.CLICK, _this5.config.selector, function (event) {
- return _this5.toggle(event);
- });
- } else if (trigger !== TRIGGER_MANUAL) {
- var eventIn = trigger === TRIGGER_HOVER ? _this5.constructor.Event.MOUSEENTER : _this5.constructor.Event.FOCUSIN;
- var eventOut = trigger === TRIGGER_HOVER ? _this5.constructor.Event.MOUSELEAVE : _this5.constructor.Event.FOCUSOUT;
- $__default['default'](_this5.element).on(eventIn, _this5.config.selector, function (event) {
- return _this5._enter(event);
- }).on(eventOut, _this5.config.selector, function (event) {
- return _this5._leave(event);
- });
- }
- });
+ var objIsObj = objTag == objectTag,
+ othIsObj = othTag == objectTag,
+ isSameTag = objTag == othTag;
- this._hideModalHandler = function () {
- if (_this5.element) {
- _this5.hide();
+ if (isSameTag && isBuffer(object)) {
+ if (!isBuffer(other)) {
+ return false;
}
- };
-
- $__default['default'](this.element).closest('.modal').on('hide.bs.modal', this._hideModalHandler);
-
- if (this.config.selector) {
- this.config = _extends({}, this.config, {
- trigger: 'manual',
- selector: ''
- });
- } else {
- this._fixTitle();
- }
- };
-
- _proto._fixTitle = function _fixTitle() {
- var titleType = typeof this.element.getAttribute('data-original-title');
-
- if (this.element.getAttribute('title') || titleType !== 'string') {
- this.element.setAttribute('data-original-title', this.element.getAttribute('title') || '');
- this.element.setAttribute('title', '');
- }
- };
-
- _proto._enter = function _enter(event, context) {
- var dataKey = this.constructor.DATA_KEY;
- context = context || $__default['default'](event.currentTarget).data(dataKey);
-
- if (!context) {
- context = new this.constructor(event.currentTarget, this._getDelegateConfig());
- $__default['default'](event.currentTarget).data(dataKey, context);
- }
-
- if (event) {
- context._activeTrigger[event.type === 'focusin' ? TRIGGER_FOCUS : TRIGGER_HOVER] = true;
+ objIsArr = true;
+ objIsObj = false;
}
-
- if ($__default['default'](context.getTipElement()).hasClass(CLASS_NAME_SHOW$4) || context._hoverState === HOVER_STATE_SHOW) {
- context._hoverState = HOVER_STATE_SHOW;
- return;
+ if (isSameTag && !objIsObj) {
+ stack || (stack = new Stack);
+ return (objIsArr || isTypedArray(object))
+ ? equalArrays(object, other, bitmask, customizer, equalFunc, stack)
+ : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack);
}
+ if (!(bitmask & COMPARE_PARTIAL_FLAG)) {
+ var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),
+ othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');
- clearTimeout(context._timeout);
- context._hoverState = HOVER_STATE_SHOW;
-
- if (!context.config.delay || !context.config.delay.show) {
- context.show();
- return;
- }
+ if (objIsWrapped || othIsWrapped) {
+ var objUnwrapped = objIsWrapped ? object.value() : object,
+ othUnwrapped = othIsWrapped ? other.value() : other;
- context._timeout = setTimeout(function () {
- if (context._hoverState === HOVER_STATE_SHOW) {
- context.show();
+ stack || (stack = new Stack);
+ return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack);
}
- }, context.config.delay.show);
- };
-
- _proto._leave = function _leave(event, context) {
- var dataKey = this.constructor.DATA_KEY;
- context = context || $__default['default'](event.currentTarget).data(dataKey);
-
- if (!context) {
- context = new this.constructor(event.currentTarget, this._getDelegateConfig());
- $__default['default'](event.currentTarget).data(dataKey, context);
}
-
- if (event) {
- context._activeTrigger[event.type === 'focusout' ? TRIGGER_FOCUS : TRIGGER_HOVER] = false;
+ if (!isSameTag) {
+ return false;
}
+ stack || (stack = new Stack);
+ return equalObjects(object, other, bitmask, customizer, equalFunc, stack);
+ }
- if (context._isWithActiveTrigger()) {
- return;
- }
+ /**
+ * The base implementation of `_.isMap` without Node.js optimizations.
+ *
+ * @private
+ * @param {*} value The value to check.
+ * @returns {boolean} Returns `true` if `value` is a map, else `false`.
+ */
+ function baseIsMap(value) {
+ return isObjectLike(value) && getTag(value) == mapTag;
+ }
- clearTimeout(context._timeout);
- context._hoverState = HOVER_STATE_OUT;
+ /**
+ * The base implementation of `_.isMatch` without support for iteratee shorthands.
+ *
+ * @private
+ * @param {Object} object The object to inspect.
+ * @param {Object} source The object of property values to match.
+ * @param {Array} matchData The property names, values, and compare flags to match.
+ * @param {Function} [customizer] The function to customize comparisons.
+ * @returns {boolean} Returns `true` if `object` is a match, else `false`.
+ */
+ function baseIsMatch(object, source, matchData, customizer) {
+ var index = matchData.length,
+ length = index,
+ noCustomizer = !customizer;
- if (!context.config.delay || !context.config.delay.hide) {
- context.hide();
- return;
+ if (object == null) {
+ return !length;
}
-
- context._timeout = setTimeout(function () {
- if (context._hoverState === HOVER_STATE_OUT) {
- context.hide();
- }
- }, context.config.delay.hide);
- };
-
- _proto._isWithActiveTrigger = function _isWithActiveTrigger() {
- for (var trigger in this._activeTrigger) {
- if (this._activeTrigger[trigger]) {
- return true;
+ object = Object(object);
+ while (index--) {
+ var data = matchData[index];
+ if ((noCustomizer && data[2])
+ ? data[1] !== object[data[0]]
+ : !(data[0] in object)
+ ) {
+ return false;
}
}
+ while (++index < length) {
+ data = matchData[index];
+ var key = data[0],
+ objValue = object[key],
+ srcValue = data[1];
- return false;
- };
-
- _proto._getConfig = function _getConfig(config) {
- var dataAttributes = $__default['default'](this.element).data();
- Object.keys(dataAttributes).forEach(function (dataAttr) {
- if (DISALLOWED_ATTRIBUTES.indexOf(dataAttr) !== -1) {
- delete dataAttributes[dataAttr];
+ if (noCustomizer && data[2]) {
+ if (objValue === undefined && !(key in object)) {
+ return false;
+ }
+ } else {
+ var stack = new Stack;
+ if (customizer) {
+ var result = customizer(objValue, srcValue, key, object, source, stack);
+ }
+ if (!(result === undefined
+ ? baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG, customizer, stack)
+ : result
+ )) {
+ return false;
+ }
}
- });
- config = _extends({}, this.constructor.Default, dataAttributes, typeof config === 'object' && config ? config : {});
-
- if (typeof config.delay === 'number') {
- config.delay = {
- show: config.delay,
- hide: config.delay
- };
- }
-
- if (typeof config.title === 'number') {
- config.title = config.title.toString();
}
+ return true;
+ }
- if (typeof config.content === 'number') {
- config.content = config.content.toString();
+ /**
+ * The base implementation of `_.isNative` without bad shim checks.
+ *
+ * @private
+ * @param {*} value The value to check.
+ * @returns {boolean} Returns `true` if `value` is a native function,
+ * else `false`.
+ */
+ function baseIsNative(value) {
+ if (!isObject(value) || isMasked(value)) {
+ return false;
}
+ var pattern = isFunction(value) ? reIsNative : reIsHostCtor;
+ return pattern.test(toSource(value));
+ }
- Util.typeCheckConfig(NAME$6, config, this.constructor.DefaultType);
+ /**
+ * The base implementation of `_.isRegExp` without Node.js optimizations.
+ *
+ * @private
+ * @param {*} value The value to check.
+ * @returns {boolean} Returns `true` if `value` is a regexp, else `false`.
+ */
+ function baseIsRegExp(value) {
+ return isObjectLike(value) && baseGetTag(value) == regexpTag;
+ }
- if (config.sanitize) {
- config.template = sanitizeHtml(config.template, config.whiteList, config.sanitizeFn);
- }
+ /**
+ * The base implementation of `_.isSet` without Node.js optimizations.
+ *
+ * @private
+ * @param {*} value The value to check.
+ * @returns {boolean} Returns `true` if `value` is a set, else `false`.
+ */
+ function baseIsSet(value) {
+ return isObjectLike(value) && getTag(value) == setTag;
+ }
- return config;
- };
+ /**
+ * The base implementation of `_.isTypedArray` without Node.js optimizations.
+ *
+ * @private
+ * @param {*} value The value to check.
+ * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.
+ */
+ function baseIsTypedArray(value) {
+ return isObjectLike(value) &&
+ isLength(value.length) && !!typedArrayTags[baseGetTag(value)];
+ }
- _proto._getDelegateConfig = function _getDelegateConfig() {
- var config = {};
+ /**
+ * The base implementation of `_.iteratee`.
+ *
+ * @private
+ * @param {*} [value=_.identity] The value to convert to an iteratee.
+ * @returns {Function} Returns the iteratee.
+ */
+ function baseIteratee(value) {
+ // Don't store the `typeof` result in a variable to avoid a JIT bug in Safari 9.
+ // See https://bugs.webkit.org/show_bug.cgi?id=156034 for more details.
+ if (typeof value == 'function') {
+ return value;
+ }
+ if (value == null) {
+ return identity;
+ }
+ if (typeof value == 'object') {
+ return isArray(value)
+ ? baseMatchesProperty(value[0], value[1])
+ : baseMatches(value);
+ }
+ return property(value);
+ }
- if (this.config) {
- for (var key in this.config) {
- if (this.constructor.Default[key] !== this.config[key]) {
- config[key] = this.config[key];
- }
+ /**
+ * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.
+ *
+ * @private
+ * @param {Object} object The object to query.
+ * @returns {Array} Returns the array of property names.
+ */
+ function baseKeys(object) {
+ if (!isPrototype(object)) {
+ return nativeKeys(object);
+ }
+ var result = [];
+ for (var key in Object(object)) {
+ if (hasOwnProperty.call(object, key) && key != 'constructor') {
+ result.push(key);
}
}
+ return result;
+ }
- return config;
- };
-
- _proto._cleanTipClass = function _cleanTipClass() {
- var $tip = $__default['default'](this.getTipElement());
- var tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX);
-
- if (tabClass !== null && tabClass.length) {
- $tip.removeClass(tabClass.join(''));
+ /**
+ * The base implementation of `_.keysIn` which doesn't treat sparse arrays as dense.
+ *
+ * @private
+ * @param {Object} object The object to query.
+ * @returns {Array} Returns the array of property names.
+ */
+ function baseKeysIn(object) {
+ if (!isObject(object)) {
+ return nativeKeysIn(object);
}
- };
+ var isProto = isPrototype(object),
+ result = [];
- _proto._handlePopperPlacementChange = function _handlePopperPlacementChange(popperData) {
- this.tip = popperData.instance.popper;
+ for (var key in object) {
+ if (!(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {
+ result.push(key);
+ }
+ }
+ return result;
+ }
- this._cleanTipClass();
+ /**
+ * The base implementation of `_.lt` which doesn't coerce arguments.
+ *
+ * @private
+ * @param {*} value The value to compare.
+ * @param {*} other The other value to compare.
+ * @returns {boolean} Returns `true` if `value` is less than `other`,
+ * else `false`.
+ */
+ function baseLt(value, other) {
+ return value < other;
+ }
- this.addAttachmentClass(this._getAttachment(popperData.placement));
- };
+ /**
+ * The base implementation of `_.map` without support for iteratee shorthands.
+ *
+ * @private
+ * @param {Array|Object} collection The collection to iterate over.
+ * @param {Function} iteratee The function invoked per iteration.
+ * @returns {Array} Returns the new mapped array.
+ */
+ function baseMap(collection, iteratee) {
+ var index = -1,
+ result = isArrayLike(collection) ? Array(collection.length) : [];
- _proto._fixTransition = function _fixTransition() {
- var tip = this.getTipElement();
- var initConfigAnimation = this.config.animation;
+ baseEach(collection, function(value, key, collection) {
+ result[++index] = iteratee(value, key, collection);
+ });
+ return result;
+ }
- if (tip.getAttribute('x-placement') !== null) {
- return;
+ /**
+ * The base implementation of `_.matches` which doesn't clone `source`.
+ *
+ * @private
+ * @param {Object} source The object of property values to match.
+ * @returns {Function} Returns the new spec function.
+ */
+ function baseMatches(source) {
+ var matchData = getMatchData(source);
+ if (matchData.length == 1 && matchData[0][2]) {
+ return matchesStrictComparable(matchData[0][0], matchData[0][1]);
}
+ return function(object) {
+ return object === source || baseIsMatch(object, source, matchData);
+ };
+ }
- $__default['default'](tip).removeClass(CLASS_NAME_FADE$2);
- this.config.animation = false;
- this.hide();
- this.show();
- this.config.animation = initConfigAnimation;
- } // Static
- ;
-
- Tooltip._jQueryInterface = function _jQueryInterface(config) {
- return this.each(function () {
- var $element = $__default['default'](this);
- var data = $element.data(DATA_KEY$6);
-
- var _config = typeof config === 'object' && config;
-
- if (!data && /dispose|hide/.test(config)) {
- return;
- }
+ /**
+ * The base implementation of `_.matchesProperty` which doesn't clone `srcValue`.
+ *
+ * @private
+ * @param {string} path The path of the property to get.
+ * @param {*} srcValue The value to match.
+ * @returns {Function} Returns the new spec function.
+ */
+ function baseMatchesProperty(path, srcValue) {
+ if (isKey(path) && isStrictComparable(srcValue)) {
+ return matchesStrictComparable(toKey(path), srcValue);
+ }
+ return function(object) {
+ var objValue = get(object, path);
+ return (objValue === undefined && objValue === srcValue)
+ ? hasIn(object, path)
+ : baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG);
+ };
+ }
- if (!data) {
- data = new Tooltip(this, _config);
- $element.data(DATA_KEY$6, data);
+ /**
+ * The base implementation of `_.merge` without support for multiple sources.
+ *
+ * @private
+ * @param {Object} object The destination object.
+ * @param {Object} source The source object.
+ * @param {number} srcIndex The index of `source`.
+ * @param {Function} [customizer] The function to customize merged values.
+ * @param {Object} [stack] Tracks traversed source values and their merged
+ * counterparts.
+ */
+ function baseMerge(object, source, srcIndex, customizer, stack) {
+ if (object === source) {
+ return;
+ }
+ baseFor(source, function(srcValue, key) {
+ stack || (stack = new Stack);
+ if (isObject(srcValue)) {
+ baseMergeDeep(object, source, key, srcIndex, baseMerge, customizer, stack);
}
+ else {
+ var newValue = customizer
+ ? customizer(safeGet(object, key), srcValue, (key + ''), object, source, stack)
+ : undefined;
- if (typeof config === 'string') {
- if (typeof data[config] === 'undefined') {
- throw new TypeError("No method named \"" + config + "\"");
+ if (newValue === undefined) {
+ newValue = srcValue;
}
-
- data[config]();
+ assignMergeValue(object, key, newValue);
}
- });
- };
-
- _createClass(Tooltip, null, [{
- key: "VERSION",
- get: function get() {
- return VERSION$6;
- }
- }, {
- key: "Default",
- get: function get() {
- return Default$4;
- }
- }, {
- key: "NAME",
- get: function get() {
- return NAME$6;
- }
- }, {
- key: "DATA_KEY",
- get: function get() {
- return DATA_KEY$6;
- }
- }, {
- key: "Event",
- get: function get() {
- return Event;
- }
- }, {
- key: "EVENT_KEY",
- get: function get() {
- return EVENT_KEY$6;
- }
- }, {
- key: "DefaultType",
- get: function get() {
- return DefaultType$4;
- }
- }]);
-
- return Tooltip;
- }();
- /**
- * ------------------------------------------------------------------------
- * jQuery
- * ------------------------------------------------------------------------
- */
-
-
- $__default['default'].fn[NAME$6] = Tooltip._jQueryInterface;
- $__default['default'].fn[NAME$6].Constructor = Tooltip;
-
- $__default['default'].fn[NAME$6].noConflict = function () {
- $__default['default'].fn[NAME$6] = JQUERY_NO_CONFLICT$6;
- return Tooltip._jQueryInterface;
- };
-
- /**
- * ------------------------------------------------------------------------
- * Constants
- * ------------------------------------------------------------------------
- */
-
- var NAME$7 = 'popover';
- var VERSION$7 = '4.5.3';
- var DATA_KEY$7 = 'bs.popover';
- var EVENT_KEY$7 = "." + DATA_KEY$7;
- var JQUERY_NO_CONFLICT$7 = $__default['default'].fn[NAME$7];
- var CLASS_PREFIX$1 = 'bs-popover';
- var BSCLS_PREFIX_REGEX$1 = new RegExp("(^|\\s)" + CLASS_PREFIX$1 + "\\S+", 'g');
-
- var Default$5 = _extends({}, Tooltip.Default, {
- placement: 'right',
- trigger: 'click',
- content: '',
- template: ''
- });
-
- var DefaultType$5 = _extends({}, Tooltip.DefaultType, {
- content: '(string|element|function)'
- });
+ }, keysIn);
+ }
- var CLASS_NAME_FADE$3 = 'fade';
- var CLASS_NAME_SHOW$5 = 'show';
- var SELECTOR_TITLE = '.popover-header';
- var SELECTOR_CONTENT = '.popover-body';
- var Event$1 = {
- HIDE: "hide" + EVENT_KEY$7,
- HIDDEN: "hidden" + EVENT_KEY$7,
- SHOW: "show" + EVENT_KEY$7,
- SHOWN: "shown" + EVENT_KEY$7,
- INSERTED: "inserted" + EVENT_KEY$7,
- CLICK: "click" + EVENT_KEY$7,
- FOCUSIN: "focusin" + EVENT_KEY$7,
- FOCUSOUT: "focusout" + EVENT_KEY$7,
- MOUSEENTER: "mouseenter" + EVENT_KEY$7,
- MOUSELEAVE: "mouseleave" + EVENT_KEY$7
- };
- /**
- * ------------------------------------------------------------------------
- * Class Definition
- * ------------------------------------------------------------------------
- */
-
- var Popover = /*#__PURE__*/function (_Tooltip) {
- _inheritsLoose(Popover, _Tooltip);
-
- function Popover() {
- return _Tooltip.apply(this, arguments) || this;
- }
-
- var _proto = Popover.prototype;
-
- // Overrides
- _proto.isWithContent = function isWithContent() {
- return this.getTitle() || this._getContent();
- };
-
- _proto.addAttachmentClass = function addAttachmentClass(attachment) {
- $__default['default'](this.getTipElement()).addClass(CLASS_PREFIX$1 + "-" + attachment);
- };
-
- _proto.getTipElement = function getTipElement() {
- this.tip = this.tip || $__default['default'](this.config.template)[0];
- return this.tip;
- };
-
- _proto.setContent = function setContent() {
- var $tip = $__default['default'](this.getTipElement()); // We use append for html objects to maintain js events
-
- this.setElementContent($tip.find(SELECTOR_TITLE), this.getTitle());
-
- var content = this._getContent();
-
- if (typeof content === 'function') {
- content = content.call(this.element);
- }
-
- this.setElementContent($tip.find(SELECTOR_CONTENT), content);
- $tip.removeClass(CLASS_NAME_FADE$3 + " " + CLASS_NAME_SHOW$5);
- } // Private
- ;
-
- _proto._getContent = function _getContent() {
- return this.element.getAttribute('data-content') || this.config.content;
- };
-
- _proto._cleanTipClass = function _cleanTipClass() {
- var $tip = $__default['default'](this.getTipElement());
- var tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX$1);
+ /**
+ * A specialized version of `baseMerge` for arrays and objects which performs
+ * deep merges and tracks traversed objects enabling objects with circular
+ * references to be merged.
+ *
+ * @private
+ * @param {Object} object The destination object.
+ * @param {Object} source The source object.
+ * @param {string} key The key of the value to merge.
+ * @param {number} srcIndex The index of `source`.
+ * @param {Function} mergeFunc The function to merge values.
+ * @param {Function} [customizer] The function to customize assigned values.
+ * @param {Object} [stack] Tracks traversed source values and their merged
+ * counterparts.
+ */
+ function baseMergeDeep(object, source, key, srcIndex, mergeFunc, customizer, stack) {
+ var objValue = safeGet(object, key),
+ srcValue = safeGet(source, key),
+ stacked = stack.get(srcValue);
- if (tabClass !== null && tabClass.length > 0) {
- $tip.removeClass(tabClass.join(''));
+ if (stacked) {
+ assignMergeValue(object, key, stacked);
+ return;
}
- } // Static
- ;
-
- Popover._jQueryInterface = function _jQueryInterface(config) {
- return this.each(function () {
- var data = $__default['default'](this).data(DATA_KEY$7);
-
- var _config = typeof config === 'object' ? config : null;
+ var newValue = customizer
+ ? customizer(objValue, srcValue, (key + ''), object, source, stack)
+ : undefined;
- if (!data && /dispose|hide/.test(config)) {
- return;
- }
+ var isCommon = newValue === undefined;
- if (!data) {
- data = new Popover(this, _config);
- $__default['default'](this).data(DATA_KEY$7, data);
- }
+ if (isCommon) {
+ var isArr = isArray(srcValue),
+ isBuff = !isArr && isBuffer(srcValue),
+ isTyped = !isArr && !isBuff && isTypedArray(srcValue);
- if (typeof config === 'string') {
- if (typeof data[config] === 'undefined') {
- throw new TypeError("No method named \"" + config + "\"");
+ newValue = srcValue;
+ if (isArr || isBuff || isTyped) {
+ if (isArray(objValue)) {
+ newValue = objValue;
+ }
+ else if (isArrayLikeObject(objValue)) {
+ newValue = copyArray(objValue);
+ }
+ else if (isBuff) {
+ isCommon = false;
+ newValue = cloneBuffer(srcValue, true);
+ }
+ else if (isTyped) {
+ isCommon = false;
+ newValue = cloneTypedArray(srcValue, true);
+ }
+ else {
+ newValue = [];
}
-
- data[config]();
- }
- });
- };
-
- _createClass(Popover, null, [{
- key: "VERSION",
- // Getters
- get: function get() {
- return VERSION$7;
- }
- }, {
- key: "Default",
- get: function get() {
- return Default$5;
- }
- }, {
- key: "NAME",
- get: function get() {
- return NAME$7;
- }
- }, {
- key: "DATA_KEY",
- get: function get() {
- return DATA_KEY$7;
- }
- }, {
- key: "Event",
- get: function get() {
- return Event$1;
- }
- }, {
- key: "EVENT_KEY",
- get: function get() {
- return EVENT_KEY$7;
- }
- }, {
- key: "DefaultType",
- get: function get() {
- return DefaultType$5;
- }
- }]);
-
- return Popover;
- }(Tooltip);
- /**
- * ------------------------------------------------------------------------
- * jQuery
- * ------------------------------------------------------------------------
- */
-
-
- $__default['default'].fn[NAME$7] = Popover._jQueryInterface;
- $__default['default'].fn[NAME$7].Constructor = Popover;
-
- $__default['default'].fn[NAME$7].noConflict = function () {
- $__default['default'].fn[NAME$7] = JQUERY_NO_CONFLICT$7;
- return Popover._jQueryInterface;
- };
-
- /**
- * ------------------------------------------------------------------------
- * Constants
- * ------------------------------------------------------------------------
- */
-
- var NAME$8 = 'scrollspy';
- var VERSION$8 = '4.5.3';
- var DATA_KEY$8 = 'bs.scrollspy';
- var EVENT_KEY$8 = "." + DATA_KEY$8;
- var DATA_API_KEY$6 = '.data-api';
- var JQUERY_NO_CONFLICT$8 = $__default['default'].fn[NAME$8];
- var Default$6 = {
- offset: 10,
- method: 'auto',
- target: ''
- };
- var DefaultType$6 = {
- offset: 'number',
- method: 'string',
- target: '(string|element)'
- };
- var EVENT_ACTIVATE = "activate" + EVENT_KEY$8;
- var EVENT_SCROLL = "scroll" + EVENT_KEY$8;
- var EVENT_LOAD_DATA_API$2 = "load" + EVENT_KEY$8 + DATA_API_KEY$6;
- var CLASS_NAME_DROPDOWN_ITEM = 'dropdown-item';
- var CLASS_NAME_ACTIVE$2 = 'active';
- var SELECTOR_DATA_SPY = '[data-spy="scroll"]';
- var SELECTOR_NAV_LIST_GROUP = '.nav, .list-group';
- var SELECTOR_NAV_LINKS = '.nav-link';
- var SELECTOR_NAV_ITEMS = '.nav-item';
- var SELECTOR_LIST_ITEMS = '.list-group-item';
- var SELECTOR_DROPDOWN = '.dropdown';
- var SELECTOR_DROPDOWN_ITEMS = '.dropdown-item';
- var SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle';
- var METHOD_OFFSET = 'offset';
- var METHOD_POSITION = 'position';
- /**
- * ------------------------------------------------------------------------
- * Class Definition
- * ------------------------------------------------------------------------
- */
-
- var ScrollSpy = /*#__PURE__*/function () {
- function ScrollSpy(element, config) {
- var _this = this;
-
- this._element = element;
- this._scrollElement = element.tagName === 'BODY' ? window : element;
- this._config = this._getConfig(config);
- this._selector = this._config.target + " " + SELECTOR_NAV_LINKS + "," + (this._config.target + " " + SELECTOR_LIST_ITEMS + ",") + (this._config.target + " " + SELECTOR_DROPDOWN_ITEMS);
- this._offsets = [];
- this._targets = [];
- this._activeTarget = null;
- this._scrollHeight = 0;
- $__default['default'](this._scrollElement).on(EVENT_SCROLL, function (event) {
- return _this._process(event);
- });
- this.refresh();
-
- this._process();
- } // Getters
-
-
- var _proto = ScrollSpy.prototype;
-
- // Public
- _proto.refresh = function refresh() {
- var _this2 = this;
-
- var autoMethod = this._scrollElement === this._scrollElement.window ? METHOD_OFFSET : METHOD_POSITION;
- var offsetMethod = this._config.method === 'auto' ? autoMethod : this._config.method;
- var offsetBase = offsetMethod === METHOD_POSITION ? this._getScrollTop() : 0;
- this._offsets = [];
- this._targets = [];
- this._scrollHeight = this._getScrollHeight();
- var targets = [].slice.call(document.querySelectorAll(this._selector));
- targets.map(function (element) {
- var target;
- var targetSelector = Util.getSelectorFromElement(element);
-
- if (targetSelector) {
- target = document.querySelector(targetSelector);
}
-
- if (target) {
- var targetBCR = target.getBoundingClientRect();
-
- if (targetBCR.width || targetBCR.height) {
- // TODO (fat): remove sketch reliance on jQuery position/offset
- return [$__default['default'](target)[offsetMethod]().top + offsetBase, targetSelector];
+ else if (isPlainObject(srcValue) || isArguments(srcValue)) {
+ newValue = objValue;
+ if (isArguments(objValue)) {
+ newValue = toPlainObject(objValue);
+ }
+ else if (!isObject(objValue) || isFunction(objValue)) {
+ newValue = initCloneObject(srcValue);
}
}
-
- return null;
- }).filter(function (item) {
- return item;
- }).sort(function (a, b) {
- return a[0] - b[0];
- }).forEach(function (item) {
- _this2._offsets.push(item[0]);
-
- _this2._targets.push(item[1]);
- });
- };
-
- _proto.dispose = function dispose() {
- $__default['default'].removeData(this._element, DATA_KEY$8);
- $__default['default'](this._scrollElement).off(EVENT_KEY$8);
- this._element = null;
- this._scrollElement = null;
- this._config = null;
- this._selector = null;
- this._offsets = null;
- this._targets = null;
- this._activeTarget = null;
- this._scrollHeight = null;
- } // Private
- ;
-
- _proto._getConfig = function _getConfig(config) {
- config = _extends({}, Default$6, typeof config === 'object' && config ? config : {});
-
- if (typeof config.target !== 'string' && Util.isElement(config.target)) {
- var id = $__default['default'](config.target).attr('id');
-
- if (!id) {
- id = Util.getUID(NAME$8);
- $__default['default'](config.target).attr('id', id);
+ else {
+ isCommon = false;
}
-
- config.target = "#" + id;
- }
-
- Util.typeCheckConfig(NAME$8, config, DefaultType$6);
- return config;
- };
-
- _proto._getScrollTop = function _getScrollTop() {
- return this._scrollElement === window ? this._scrollElement.pageYOffset : this._scrollElement.scrollTop;
- };
-
- _proto._getScrollHeight = function _getScrollHeight() {
- return this._scrollElement.scrollHeight || Math.max(document.body.scrollHeight, document.documentElement.scrollHeight);
- };
-
- _proto._getOffsetHeight = function _getOffsetHeight() {
- return this._scrollElement === window ? window.innerHeight : this._scrollElement.getBoundingClientRect().height;
- };
-
- _proto._process = function _process() {
- var scrollTop = this._getScrollTop() + this._config.offset;
-
- var scrollHeight = this._getScrollHeight();
-
- var maxScroll = this._config.offset + scrollHeight - this._getOffsetHeight();
-
- if (this._scrollHeight !== scrollHeight) {
- this.refresh();
}
-
- if (scrollTop >= maxScroll) {
- var target = this._targets[this._targets.length - 1];
-
- if (this._activeTarget !== target) {
- this._activate(target);
- }
-
- return;
+ if (isCommon) {
+ // Recursively merge objects and arrays (susceptible to call stack limits).
+ stack.set(srcValue, newValue);
+ mergeFunc(newValue, srcValue, srcIndex, customizer, stack);
+ stack['delete'](srcValue);
}
+ assignMergeValue(object, key, newValue);
+ }
- if (this._activeTarget && scrollTop < this._offsets[0] && this._offsets[0] > 0) {
- this._activeTarget = null;
-
- this._clear();
-
+ /**
+ * The base implementation of `_.nth` which doesn't coerce arguments.
+ *
+ * @private
+ * @param {Array} array The array to query.
+ * @param {number} n The index of the element to return.
+ * @returns {*} Returns the nth element of `array`.
+ */
+ function baseNth(array, n) {
+ var length = array.length;
+ if (!length) {
return;
}
+ n += n < 0 ? length : 0;
+ return isIndex(n, length) ? array[n] : undefined;
+ }
- for (var i = this._offsets.length; i--;) {
- var isActiveTarget = this._activeTarget !== this._targets[i] && scrollTop >= this._offsets[i] && (typeof this._offsets[i + 1] === 'undefined' || scrollTop < this._offsets[i + 1]);
-
- if (isActiveTarget) {
- this._activate(this._targets[i]);
- }
+ /**
+ * The base implementation of `_.orderBy` without param guards.
+ *
+ * @private
+ * @param {Array|Object} collection The collection to iterate over.
+ * @param {Function[]|Object[]|string[]} iteratees The iteratees to sort by.
+ * @param {string[]} orders The sort orders of `iteratees`.
+ * @returns {Array} Returns the new sorted array.
+ */
+ function baseOrderBy(collection, iteratees, orders) {
+ if (iteratees.length) {
+ iteratees = arrayMap(iteratees, function(iteratee) {
+ if (isArray(iteratee)) {
+ return function(value) {
+ return baseGet(value, iteratee.length === 1 ? iteratee[0] : iteratee);
+ }
+ }
+ return iteratee;
+ });
+ } else {
+ iteratees = [identity];
}
- };
- _proto._activate = function _activate(target) {
- this._activeTarget = target;
-
- this._clear();
+ var index = -1;
+ iteratees = arrayMap(iteratees, baseUnary(getIteratee()));
- var queries = this._selector.split(',').map(function (selector) {
- return selector + "[data-target=\"" + target + "\"]," + selector + "[href=\"" + target + "\"]";
+ var result = baseMap(collection, function(value, key, collection) {
+ var criteria = arrayMap(iteratees, function(iteratee) {
+ return iteratee(value);
+ });
+ return { 'criteria': criteria, 'index': ++index, 'value': value };
});
- var $link = $__default['default']([].slice.call(document.querySelectorAll(queries.join(','))));
-
- if ($link.hasClass(CLASS_NAME_DROPDOWN_ITEM)) {
- $link.closest(SELECTOR_DROPDOWN).find(SELECTOR_DROPDOWN_TOGGLE).addClass(CLASS_NAME_ACTIVE$2);
- $link.addClass(CLASS_NAME_ACTIVE$2);
- } else {
- // Set triggered link as active
- $link.addClass(CLASS_NAME_ACTIVE$2); // Set triggered links parents as active
- // With both and