From 5a0aa4afdd12eb06c446e9bbdceace4727d7d86e Mon Sep 17 00:00:00 2001 From: KingMcDonalds Date: Sat, 7 Sep 2024 14:08:09 -0700 Subject: [PATCH] lock door script --- resources/cd_doorlock/.fxap | Bin 0 -> 178 bytes .../door_data.json | 1 + .../gabz_locations/247_barbareno_ave.json | 1 + .../gabz_locations/247_clifton_ave.json | 1 + .../gabz_locations/247_ineseno_rd.json | 1 + .../gabz_locations/247_innocence_blvd.json | 1 + .../gabz_locations/247_paleto.json | 1 + .../gabz_locations/247_palomino_fwy.json | 1 + .../gabz_locations/247_sandy.json | 1 + .../gabz_locations/247_senora_fwy_1.json | 1 + .../gabz_locations/247_senora_fwy_2.json | 1 + .../gabz_locations/altruists.json | 1 + .../gabz_locations/ammunition_chumash.json | 1 + .../ammunition_cypress_flats.json | 1 + .../gabz_locations/ammunition_hawick.json | 1 + .../gabz_locations/ammunition_la_mesa.json | 1 + .../gabz_locations/ammunition_legion.json | 1 + .../ammunition_little_seoul.json | 1 + .../ammunition_morningwood.json | 1 + .../gabz_locations/ammunition_paleto.json | 1 + .../gabz_locations/ammunition_route_68.json | 1 + .../gabz_locations/ammunition_sandy.json | 1 + .../ammunition_tataviam_mountains.json | 1 + .../gabz_locations/aztecas.json | 1 + .../gabz_locations/bahama_mamas.json | 1 + .../gabz_locations/ballas.json | 1 + .../barbershop_alhambradrive.json | 1 + .../gabz_locations/barbershop_carsonave.json | 1 + .../gabz_locations/barbershop_hawickave.json | 1 + .../barbershop_magellanave.json | 1 + .../gabz_locations/barbershop_mirrorpark.json | 1 + .../gabz_locations/barbershop_paleto.json | 1 + .../gabz_locations/bean_machine.json | 1 + .../gabz_locations/bennys.json | 1 + .../gabz_locations/binco_grapeseed.json | 1 + .../gabz_locations/binco_innocence_blvd.json | 1 + .../gabz_locations/binco_paleto.json | 1 + .../gabz_locations/binco_palomino_ave.json | 1 + .../gabz_locations/binco_rt68_1.json | 1 + .../gabz_locations/binco_rt68_2.json | 1 + .../gabz_locations/binco_sinner_ave.json | 1 + .../gabz_locations/bolingbroke_prison.json | 1 + .../gabz_locations/bowling_alley.json | 1 + .../gabz_locations/davis_pd.json | 1 + .../gabz_locations/families.json | 1 + .../gabz_locations/fire_station.json | 1 + .../gabz_locations/harmony_repair.json | 1 + .../gabz_locations/haters.json | 1 + .../gabz_locations/hayes_auto.json | 1 + .../gabz_locations/import_garage.json | 1 + .../gabz_locations/impound_lot.json | 1 + .../gabz_locations/la_mesa_pd.json | 1 + .../gabz_locations/legion_ammu.json | 1 + .../gabz_locations/lost_mc.json | 1 + .../gabz_locations/ls_customs.json | 1 + .../gabz_locations/ltd_grove.json | 1 + .../gabz_locations/marabunta.json | 1 + .../gabz_locations/mba.json | 5 + .../gabz_locations/mba_mma.json | 5 + .../gabz_locations/mrpd.json | 1 + .../gabz_locations/ottos.json | 1 + .../gabz_locations/pacific_bank.json | 1 + .../gabz_locations/paleto_bank.json | 1 + .../gabz_locations/paleto_pd.json | 1 + .../gabz_locations/park_rangers.json | 1 + .../gabz_locations/pillbox.json | 1 + .../gabz_locations/pizzeria.json | 1 + .../gabz_locations/ponsonbys.json | 1 + .../gabz_locations/pops_diner.json | 1 + .../premium_deluxe_motorsport.json | 1 + .../gabz_locations/record_a_studios.json | 1 + .../gabz_locations/sandy_pd.json | 1 + .../suburban_greatoceanhighway.json | 1 + .../gabz_locations/suburban_hawickave.json | 1 + .../suburban_prosperitystreet.json | 1 + .../gabz_locations/suburban_route68.json | 1 + .../gabz_locations/tattoo_chumash.json | 1 + .../gabz_locations/tattoo_el_burro.json | 5 + .../gabz_locations/tattoo_paleto.json | 1 + .../gabz_locations/tattoo_sandy.json | 1 + .../gabz_locations/tattoo_vespucci.json | 1 + .../gabz_locations/tattoo_vinewood.json | 1 + .../gabz_locations/town_hall.json | 1 + .../gabz_locations/triad_records.json | 1 + .../gabz_locations/triads.json | 1 + .../gabz_locations/tuner_shop.json | 1 + .../gabz_locations/uwu_cafe.json | 5 + .../gabz_locations/vagos.json | 1 + .../gabz_locations/vanilla_unicorn.json | 1 + .../gabz_locations/weed_camp.json | 1 + .../location_groups.json | 1 + .../READ_ME_AFTER_PURCHASING/READ_ME.md | 1 + resources/cd_doorlock/client/client.lua | Bin 0 -> 26815 bytes resources/cd_doorlock/client/functions.lua | 75 +++ .../configs/client_customise_me.lua | 334 +++++++++++++ resources/cd_doorlock/configs/config.lua | 198 ++++++++ resources/cd_doorlock/configs/config_ui.js | 13 + resources/cd_doorlock/configs/locales.lua | 101 ++++ resources/cd_doorlock/configs/locales_ui.js | 198 ++++++++ .../configs/server_customise_me.lua | 464 ++++++++++++++++++ .../cd_doorlock/configs/server_webhooks.lua | 52 ++ resources/cd_doorlock/fxmanifest.lua | 69 +++ resources/cd_doorlock/html/assets/index.css | 1 + resources/cd_doorlock/html/assets/index.js | 30 ++ .../css/vendor/bootstrap-custom-1.0.0.min.css | 6 + .../html/css/vendor/bootstrap.min.css | 7 + resources/cd_doorlock/html/fonts/vcr.woff2 | Bin 0 -> 17992 bytes resources/cd_doorlock/html/index.html | 21 + resources/cd_doorlock/server/read_files.js | 40 ++ resources/cd_doorlock/server/server.lua | Bin 0 -> 10200 bytes .../cd_doorlock/server/version_check.lua | 61 +++ resources/cd_doorlock/sounds/_key_press.ogg | Bin 0 -> 8530 bytes .../cd_doorlock/sounds/_notification.ogg | Bin 0 -> 7873 bytes resources/cd_doorlock/sounds/door_click.ogg | Bin 0 -> 16533 bytes resources/cd_doorlock/sounds/door_metal.ogg | Bin 0 -> 15918 bytes resources/cd_doorlock/sounds/door_regular.ogg | Bin 0 -> 9134 bytes resources/cd_doorlock/sounds/door_squeak.ogg | Bin 0 -> 25834 bytes resources/cd_doorlock/sounds/door_switch.ogg | Bin 0 -> 13986 bytes resources/cd_doorlock/sounds/door_wooden.ogg | Bin 0 -> 27278 bytes server.cfg | 2 +- 120 files changed, 1778 insertions(+), 1 deletion(-) create mode 100644 resources/cd_doorlock/.fxap create mode 100644 resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/door_data.json create mode 100644 resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/247_barbareno_ave.json create mode 100644 resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/247_clifton_ave.json create mode 100644 resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/247_ineseno_rd.json create mode 100644 resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/247_innocence_blvd.json create mode 100644 resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/247_paleto.json create mode 100644 resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/247_palomino_fwy.json create mode 100644 resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/247_sandy.json create mode 100644 resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/247_senora_fwy_1.json create mode 100644 resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/247_senora_fwy_2.json create mode 100644 resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/altruists.json create mode 100644 resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/ammunition_chumash.json create mode 100644 resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/ammunition_cypress_flats.json create mode 100644 resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/ammunition_hawick.json create mode 100644 resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/ammunition_la_mesa.json create mode 100644 resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/ammunition_legion.json create mode 100644 resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/ammunition_little_seoul.json create mode 100644 resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/ammunition_morningwood.json create mode 100644 resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/ammunition_paleto.json create mode 100644 resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/ammunition_route_68.json create mode 100644 resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/ammunition_sandy.json create mode 100644 resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/ammunition_tataviam_mountains.json create mode 100644 resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/aztecas.json create mode 100644 resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/bahama_mamas.json create mode 100644 resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/ballas.json create mode 100644 resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/barbershop_alhambradrive.json create mode 100644 resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/barbershop_carsonave.json create mode 100644 resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/barbershop_hawickave.json create mode 100644 resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/barbershop_magellanave.json create mode 100644 resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/barbershop_mirrorpark.json create mode 100644 resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/barbershop_paleto.json create mode 100644 resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/bean_machine.json create mode 100644 resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/bennys.json create mode 100644 resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/binco_grapeseed.json create mode 100644 resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/binco_innocence_blvd.json create mode 100644 resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/binco_paleto.json create mode 100644 resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/binco_palomino_ave.json create mode 100644 resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/binco_rt68_1.json create mode 100644 resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/binco_rt68_2.json create mode 100644 resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/binco_sinner_ave.json create mode 100644 resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/bolingbroke_prison.json create mode 100644 resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/bowling_alley.json create mode 100644 resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/davis_pd.json create mode 100644 resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/families.json create mode 100644 resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/fire_station.json create mode 100644 resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/harmony_repair.json create mode 100644 resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/haters.json create mode 100644 resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/hayes_auto.json create mode 100644 resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/import_garage.json create mode 100644 resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/impound_lot.json create mode 100644 resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/la_mesa_pd.json create mode 100644 resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/legion_ammu.json create mode 100644 resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/lost_mc.json create mode 100644 resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/ls_customs.json create mode 100644 resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/ltd_grove.json create mode 100644 resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/marabunta.json create mode 100644 resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/mba.json create mode 100644 resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/mba_mma.json create mode 100644 resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/mrpd.json create mode 100644 resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/ottos.json create mode 100644 resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/pacific_bank.json create mode 100644 resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/paleto_bank.json create mode 100644 resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/paleto_pd.json create mode 100644 resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/park_rangers.json create mode 100644 resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/pillbox.json create mode 100644 resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/pizzeria.json create mode 100644 resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/ponsonbys.json create mode 100644 resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/pops_diner.json create mode 100644 resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/premium_deluxe_motorsport.json create mode 100644 resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/record_a_studios.json create mode 100644 resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/sandy_pd.json create mode 100644 resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/suburban_greatoceanhighway.json create mode 100644 resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/suburban_hawickave.json create mode 100644 resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/suburban_prosperitystreet.json create mode 100644 resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/suburban_route68.json create mode 100644 resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/tattoo_chumash.json create mode 100644 resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/tattoo_el_burro.json create mode 100644 resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/tattoo_paleto.json create mode 100644 resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/tattoo_sandy.json create mode 100644 resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/tattoo_vespucci.json create mode 100644 resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/tattoo_vinewood.json create mode 100644 resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/town_hall.json create mode 100644 resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/triad_records.json create mode 100644 resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/triads.json create mode 100644 resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/tuner_shop.json create mode 100644 resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/uwu_cafe.json create mode 100644 resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/vagos.json create mode 100644 resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/vanilla_unicorn.json create mode 100644 resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/weed_camp.json create mode 100644 resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/location_groups.json create mode 100644 resources/cd_doorlock/READ_ME_AFTER_PURCHASING/READ_ME.md create mode 100644 resources/cd_doorlock/client/client.lua create mode 100644 resources/cd_doorlock/client/functions.lua create mode 100644 resources/cd_doorlock/configs/client_customise_me.lua create mode 100644 resources/cd_doorlock/configs/config.lua create mode 100644 resources/cd_doorlock/configs/config_ui.js create mode 100644 resources/cd_doorlock/configs/locales.lua create mode 100644 resources/cd_doorlock/configs/locales_ui.js create mode 100644 resources/cd_doorlock/configs/server_customise_me.lua create mode 100644 resources/cd_doorlock/configs/server_webhooks.lua create mode 100644 resources/cd_doorlock/fxmanifest.lua create mode 100644 resources/cd_doorlock/html/assets/index.css create mode 100644 resources/cd_doorlock/html/assets/index.js create mode 100644 resources/cd_doorlock/html/css/vendor/bootstrap-custom-1.0.0.min.css create mode 100644 resources/cd_doorlock/html/css/vendor/bootstrap.min.css create mode 100644 resources/cd_doorlock/html/fonts/vcr.woff2 create mode 100644 resources/cd_doorlock/html/index.html create mode 100644 resources/cd_doorlock/server/read_files.js create mode 100644 resources/cd_doorlock/server/server.lua create mode 100644 resources/cd_doorlock/server/version_check.lua create mode 100644 resources/cd_doorlock/sounds/_key_press.ogg create mode 100644 resources/cd_doorlock/sounds/_notification.ogg create mode 100644 resources/cd_doorlock/sounds/door_click.ogg create mode 100644 resources/cd_doorlock/sounds/door_metal.ogg create mode 100644 resources/cd_doorlock/sounds/door_regular.ogg create mode 100644 resources/cd_doorlock/sounds/door_squeak.ogg create mode 100644 resources/cd_doorlock/sounds/door_switch.ogg create mode 100644 resources/cd_doorlock/sounds/door_wooden.ogg diff --git a/resources/cd_doorlock/.fxap b/resources/cd_doorlock/.fxap new file mode 100644 index 0000000000000000000000000000000000000000..d0e103a88f48f49859626e99edc3ca014b78cefa GIT binary patch literal 178 zcmV;j08Rf!SV2$$000000GJxg4WrOH7Zl-{ulRTIhTCXAyoDE07tC&^{1RlKoJz`C zEiBDNX90oReVFR)O=Hhe<*XI@n0+y$LB_);14Tvk@C4z0I#4edXBeaVAR$2Z4?(eJ z%0fT9|MtUfU1bqB+uuCV9{U;6+K7v5A>`LkJg$a2V g7qDq97DFWwNVE|q&=H<7h`bt(3fr{ZpK)#a&OwJ$qW}N^ literal 0 HcmV?d00001 diff --git a/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/door_data.json b/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/door_data.json new file mode 100644 index 000000000..0637a088a --- /dev/null +++ b/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/door_data.json @@ -0,0 +1 @@ +[] \ No newline at end of file diff --git a/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/247_barbareno_ave.json b/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/247_barbareno_ave.json new file mode 100644 index 000000000..b9ec52edf --- /dev/null +++ b/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/247_barbareno_ave.json @@ -0,0 +1 @@ +{"name":"247_barbareno_ave.json","imported":false,"data":[{"id":1,"perms":{"job":[{"grade":0,"name":"police"}],"identifier":[]},"location_group":"24/7 Barbareno Rd","door_data":[{"unique_id":"OVMb8tnaXhPt9Mjv52r5n","model_hash":997554217,"text_dimensions":-1.30091333389282,"door_coords":{"x":-3239.898681640625,"y":1005.744873046875,"z":12.97670936584472}},{"unique_id":"5TmyMlEs30UEK3WWELHCh","model_hash":1196685123,"text_dimensions":-1.30091333389282,"door_coords":{"x":-3240.1220703125,"y":1003.1539306640624,"z":12.97670936584472}}],"door_name":"Entrance","default_state":false,"state":false,"secret":false,"door_sound":"door_metal.ogg","door_type":"double","lockpickable":false,"camera":false,"distance":2},{"id":2,"perms":{"job":[{"grade":0,"name":"police"}],"identifier":[]},"location_group":"24/7 Barbareno Rd","door_data":[{"unique_id":"91scw0VFPfuHABTiRy1oF","model_hash":1266035946,"text_dimensions":1.26322402569915,"door_coords":{"x":-3247.664794921875,"y":1000.241455078125,"z":12.98198986053466}}],"door_name":"Office","default_state":true,"state":true,"secret":false,"door_sound":"door_wooden.ogg","door_type":"single","lockpickable":false,"camera":false,"distance":2}]} \ No newline at end of file diff --git a/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/247_clifton_ave.json b/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/247_clifton_ave.json new file mode 100644 index 000000000..1533dd92d --- /dev/null +++ b/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/247_clifton_ave.json @@ -0,0 +1 @@ +{"name":"247_clifton_ave.json","imported":false,"data":[{"id":1,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"24/7 Clifton Ave","door_data":[{"model_hash":1196685123,"unique_id":"TSEfCo1cShciJUFdTS9sB","text_dimensions":-1.30091333389282,"door_coords":{"x":375.3483276367188,"y":323.79681396484377,"z":103.71237182617188}},{"model_hash":997554217,"unique_id":"Pq5TFcXpie76cOmw2844u","text_dimensions":-1.30091333389282,"door_coords":{"x":377.8703918457031,"y":323.16259765625,"z":103.71237182617188}}],"door_name":"Entrance","secret":false,"state":false,"default_state":false,"door_sound":"door_metal.ogg","door_type":"double","lockpickable":false,"camera":false,"distance":2},{"id":2,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"24/7 Clifton Ave","door_data":[{"model_hash":1266035946,"unique_id":"jOm6EjixK8Nn6-3Fbnq6D","text_dimensions":1.26322402569915,"door_coords":{"x":373.6778259277344,"y":331.7078552246094,"z":103.7176513671875}}],"door_name":"Office","secret":false,"state":true,"default_state":true,"door_sound":"door_wooden.ogg","door_type":"single","lockpickable":false,"camera":false,"distance":2}]} \ No newline at end of file diff --git a/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/247_ineseno_rd.json b/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/247_ineseno_rd.json new file mode 100644 index 000000000..40fbdf01c --- /dev/null +++ b/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/247_ineseno_rd.json @@ -0,0 +1 @@ +{"name":"247_ineseno_rd.json","imported":false,"data":[{"id":1,"perms":{"job":[{"grade":0,"name":"police"}],"identifier":[]},"location_group":"24/7 Ineseno Rd","door_data":[{"model_hash":997554217,"unique_id":"-PtdqVTsrjnSb7NHZpzvv","text_dimensions":-1.30091333389282,"door_coords":{"x":-3039.006103515625,"y":590.7625122070313,"z":8.05492782592773}},{"model_hash":1196685123,"unique_id":"b0yKpuFoTx03s5cVOrZNB","text_dimensions":-1.30091333389282,"door_coords":{"x":-3038.212890625,"y":588.2858276367188,"z":8.05492782592773}}],"door_name":"Entrance","secret":false,"state":false,"default_state":false,"door_sound":"door_metal.ogg","door_type":"double","lockpickable":false,"camera":false,"distance":2},{"id":2,"perms":{"job":[{"grade":0,"name":"police"}],"identifier":[]},"location_group":"24/7 Ineseno Rd","door_data":[{"model_hash":1266035946,"unique_id":"cuZbXEDUAvDaExZKe1Qjq","text_dimensions":1.26322402569915,"door_coords":{"x":-3044.048828125,"y":582.6897583007813,"z":8.06020927429199}}],"door_name":"Office","secret":false,"state":true,"default_state":true,"door_sound":"door_wooden.ogg","door_type":"single","lockpickable":false,"camera":false,"distance":2}]} \ No newline at end of file diff --git a/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/247_innocence_blvd.json b/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/247_innocence_blvd.json new file mode 100644 index 000000000..bf23e9520 --- /dev/null +++ b/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/247_innocence_blvd.json @@ -0,0 +1 @@ +{"name":"247_innocence_blvd.json","imported":false,"data":[{"id":1,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"24/7 Innocence Blvd","door_data":[{"unique_id":"uyxmAsf2ia9j-Pw9mDcP4","model_hash":1196685123,"text_dimensions":-1.30091333389282,"door_coords":{"x":27.81437492370605,"y":-1349.174560546875,"z":29.64302825927734}},{"unique_id":"aM0dOu02PxdXFjYFLi6VG","model_hash":997554217,"text_dimensions":-1.30091333389282,"door_coords":{"x":30.41495895385742,"y":-1349.174560546875,"z":29.64302825927734}}],"door_name":"Entrance","default_state":false,"state":false,"secret":false,"door_sound":"door_metal.ogg","door_type":"double","lockpickable":false,"camera":false,"distance":2},{"id":2,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"24/7 Innocence Blvd","door_data":[{"unique_id":"vH0jbNGfCiLL1SOPfccF4","model_hash":1266035946,"text_dimensions":1.26322402569915,"door_coords":{"x":24.26502227783203,"y":-1341.9097900390626,"z":29.6483097076416}}],"door_name":"Office","default_state":true,"state":true,"secret":false,"door_sound":"door_wooden.ogg","door_type":"single","lockpickable":false,"camera":false,"distance":2}]} \ No newline at end of file diff --git a/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/247_paleto.json b/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/247_paleto.json new file mode 100644 index 000000000..bdcc39d6f --- /dev/null +++ b/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/247_paleto.json @@ -0,0 +1 @@ +{"name":"247_paleto.json","imported":false,"data":[{"id":1,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"24/7 Paleto","door_data":[{"unique_id":"1q_sXeHzdgwCDPQ8dSzbo","model_hash":997554217,"text_dimensions":-1.30091333389282,"door_coords":{"x":163.40753173828126,"y":6636.09228515625,"z":31.8449478149414}},{"unique_id":"MWQDHzd0hbPzsm8-bjze_","model_hash":1196685123,"text_dimensions":-1.30091333389282,"door_coords":{"x":161.56863403320313,"y":6637.93115234375,"z":31.8449478149414}}],"door_name":"Entrance","camera":false,"state":false,"default_state":false,"door_sound":"door_metal.ogg","door_type":"double","lockpickable":false,"secret":false,"distance":2},{"id":2,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"24/7 Paleto","door_data":[{"unique_id":"YTKS7QC5t-x2CHdeowhBy","model_hash":1266035946,"text_dimensions":1.26322402569915,"door_coords":{"x":164.1958465576172,"y":6645.57763671875,"z":31.85022926330566}}],"door_name":"Office","camera":false,"state":true,"default_state":true,"door_sound":"door_wooden.ogg","door_type":"single","lockpickable":false,"secret":false,"distance":2}]} \ No newline at end of file diff --git a/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/247_palomino_fwy.json b/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/247_palomino_fwy.json new file mode 100644 index 000000000..af89719ff --- /dev/null +++ b/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/247_palomino_fwy.json @@ -0,0 +1 @@ +{"name":"247_palomino_fwy.json","imported":false,"data":[{"id":1,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"24/7 Palomino Fwy","door_data":[{"unique_id":"SYK42esQuCMsVNidiiMgd","model_hash":997554217,"text_dimensions":-1.30091333389282,"door_coords":{"x":2559.309326171875,"y":386.6825866699219,"z":108.76897430419922}},{"unique_id":"VGxi0LHKfenMLKZqdUEOk","model_hash":1196685123,"text_dimensions":-1.30091333389282,"door_coords":{"x":2559.20556640625,"y":384.0840759277344,"z":108.76897430419922}}],"door_name":"Entrance","default_state":false,"state":false,"secret":false,"door_sound":"door_metal.ogg","door_type":"double","lockpickable":false,"camera":false,"distance":2},{"id":2,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"24/7 Palomino Fwy","door_data":[{"unique_id":"-0-3Eiy2Ly7F0pRKz6cHj","model_hash":1266035946,"text_dimensions":1.26322402569915,"door_coords":{"x":2551.80517578125,"y":380.8270568847656,"z":108.77425384521485}}],"door_name":"Office","default_state":true,"state":true,"secret":false,"door_sound":"door_wooden.ogg","door_type":"single","lockpickable":false,"camera":false,"distance":2}]} \ No newline at end of file diff --git a/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/247_sandy.json b/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/247_sandy.json new file mode 100644 index 000000000..11ddd61f0 --- /dev/null +++ b/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/247_sandy.json @@ -0,0 +1 @@ +{"name":"247_sandy.json","imported":false,"data":[{"id":1,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"24/7 Sandy","door_data":[{"model_hash":1196685123,"unique_id":"hxlg2JniICt5K_r_cZcWj","text_dimensions":-1.30091333389282,"door_coords":{"x":1963.9178466796876,"y":3740.068603515625,"z":32.48976135253906}},{"model_hash":997554217,"unique_id":"nX-thzFEFEl2rPI6qBzqP","text_dimensions":-1.30091333389282,"door_coords":{"x":1966.1700439453128,"y":3741.368896484375,"z":32.48976135253906}}],"door_name":"Entrance","secret":false,"state":false,"default_state":false,"door_sound":"door_metal.ogg","door_type":"double","lockpickable":false,"camera":false,"distance":2},{"id":2,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"24/7 Sandy","door_data":[{"model_hash":1266035946,"unique_id":"HV7XlVBBa2zjw1hn9-iKO","text_dimensions":1.26322402569915,"door_coords":{"x":1957.2117919921876,"y":3744.58544921875,"z":32.49504089355469}}],"door_name":"Office","secret":false,"state":true,"default_state":true,"door_sound":"door_wooden.ogg","door_type":"single","lockpickable":false,"camera":false,"distance":2}]} \ No newline at end of file diff --git a/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/247_senora_fwy_1.json b/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/247_senora_fwy_1.json new file mode 100644 index 000000000..8521635cd --- /dev/null +++ b/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/247_senora_fwy_1.json @@ -0,0 +1 @@ +{"name":"247_senora_fwy_1.json","imported":false,"data":[{"id":1,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"24/7 Senora Fwy 1","door_data":[{"model_hash":997554217,"unique_id":"h7vSO0boKUq-JMtnUdfHm","text_dimensions":-1.30091333389282,"door_coords":{"x":2682.56103515625,"y":3283.692626953125,"z":55.38714981079101}},{"model_hash":1196685123,"unique_id":"uq5_uqKuWOZiDDB9pYMy2","text_dimensions":-1.30091333389282,"door_coords":{"x":2681.294921875,"y":3281.421142578125,"z":55.38714981079101}}],"door_name":"Entrance","camera":false,"state":false,"default_state":false,"door_sound":"door_metal.ogg","door_type":"double","lockpickable":false,"secret":false,"distance":2},{"id":2,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"24/7 Senora Fwy 1","door_data":[{"model_hash":1266035946,"unique_id":"A-yKGdBGkkbz313Nfk7pB","text_dimensions":1.26322402569915,"door_coords":{"x":2673.22119140625,"y":3281.857177734375,"z":55.3924331665039}}],"door_name":"Office","camera":false,"state":true,"default_state":true,"door_sound":"door_wooden.ogg","door_type":"single","lockpickable":false,"secret":false,"distance":2}]} \ No newline at end of file diff --git a/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/247_senora_fwy_2.json b/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/247_senora_fwy_2.json new file mode 100644 index 000000000..75992147e --- /dev/null +++ b/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/247_senora_fwy_2.json @@ -0,0 +1 @@ +{"name":"247_senora_fwy_2.json","imported":false,"data":[{"id":1,"perms":{"job":[{"grade":0,"name":"police"}],"identifier":[]},"location_group":"24/7 Senora Fwy 2","door_data":[{"model_hash":1196685123,"unique_id":"xFUJOGYaOCmq_u7pcVaLJ","text_dimensions":-1.30091333389282,"door_coords":{"x":1730.02587890625,"y":6412.068359375,"z":35.1832389831543}},{"model_hash":997554217,"unique_id":"w5EQXW0ZB918n4hlS6n7X","text_dimensions":-1.30091333389282,"door_coords":{"x":1732.3560791015626,"y":6410.9140625,"z":35.1832389831543}}],"door_name":"Entrance","secret":false,"state":false,"default_state":false,"door_sound":"door_metal.ogg","door_type":"double","lockpickable":false,"camera":false,"distance":2},{"id":2,"perms":{"job":[{"grade":0,"name":"police"}],"identifier":[]},"location_group":"24/7 Senora Fwy 2","door_data":[{"model_hash":1266035946,"unique_id":"-I_2AYiwSE1bepHkKsTy1","text_dimensions":1.26322402569915,"door_coords":{"x":1730.0711669921876,"y":6420.154296875,"z":35.18852233886719}}],"door_name":"Office","secret":false,"state":true,"default_state":true,"door_sound":"door_wooden.ogg","door_type":"single","lockpickable":false,"camera":false,"distance":2}]} \ No newline at end of file diff --git a/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/altruists.json b/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/altruists.json new file mode 100644 index 000000000..6fba9a0c0 --- /dev/null +++ b/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/altruists.json @@ -0,0 +1 @@ +{"name":"altruists.json","imported":false,"data":[{"id":1,"perms":{"job":[{"grade":0,"name":"altruist"}],"identifier":[]},"location_group":"Altruists","door_data":[{"model_hash":-1578791031,"unique_id":"Pcr0trKIdtIGaWAA0vF8w","text_dimensions":-4.83702678978443,"door_coords":{"x":-1044.7490234375,"y":4914.9716796875,"z":209.19322204589845}},{"model_hash":-13153749,"unique_id":"oHgenjNmHRS7H4JhUBPlY","text_dimensions":4.83666189014911,"door_coords":{"x":-1041.2327880859376,"y":4906.1005859375,"z":209.2002105712891}}],"door_name":"Gate","default_state":true,"state":true,"secret":false,"door_sound":"door_squeak.ogg","door_type":"single","lockpickable":false,"camera":false,"distance":2},{"id":2,"perms":{"job":[{"grade":0,"name":"altruist"}],"identifier":[]},"location_group":"Altruists","door_data":[{"model_hash":825709191,"unique_id":"xhl0bDngyO4ooV6hkuQE-","text_dimensions":1.3916357755661,"door_coords":{"x":-1111.6304931640626,"y":4938.296875,"z":218.52578735351566}}],"door_name":"Entrance","default_state":true,"state":true,"camera":false,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"secret":false,"distance":2},{"id":3,"perms":{"job":[{"grade":0,"name":"altruist"}],"identifier":[]},"location_group":"Altruists","door_data":[{"model_hash":193467871,"unique_id":"SSwORWkwsEgj7UYPHrmlV","text_dimensions":1.39163494110107,"door_coords":{"x":-1108.4287109375,"y":4939.94140625,"z":218.5197906494141}}],"door_name":"Office","default_state":true,"state":true,"camera":false,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"secret":false,"distance":2},{"id":4,"perms":{"job":[{"grade":0,"name":"altruist"}],"identifier":[]},"location_group":"Altruists","door_data":[{"model_hash":193467871,"unique_id":"g-TPOYyu_L3gO-gqb2w76","text_dimensions":1.39163494110107,"door_coords":{"x":-1111.94873046875,"y":4939.740234375,"z":218.5197906494141}}],"door_name":"Toilet","default_state":true,"state":true,"camera":false,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"secret":false,"distance":2},{"id":5,"perms":{"job":[{"grade":0,"name":"altruist"}],"identifier":[]},"location_group":"Altruists","door_data":[{"model_hash":193467871,"unique_id":"VinE8-49ASMffoYVtPdG_","text_dimensions":1.39163494110107,"door_coords":{"x":-1109.154052734375,"y":4945.1005859375,"z":218.5197906494141}}],"door_name":"Planning Room","default_state":true,"state":true,"camera":false,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"secret":false,"distance":2},{"id":6,"perms":{"job":[{"grade":0,"name":"altruist"}],"identifier":[]},"location_group":"Altruists","door_data":[{"model_hash":193467871,"unique_id":"Lu_Y9V5jG34DvGgfZNhfj","text_dimensions":1.39163494110107,"door_coords":{"x":-1100.6943359375,"y":4946.94287109375,"z":218.5197906494141}}],"door_name":"Bar","default_state":true,"state":true,"secret":false,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"camera":false,"distance":2},{"id":7,"perms":{"job":[{"grade":0,"name":"altruist"}],"identifier":[]},"location_group":"Altruists","door_data":[{"model_hash":825709191,"unique_id":"UU2VZwn41Lj3A3HnlIINn","text_dimensions":1.3916357755661,"door_coords":{"x":-1102.2613525390626,"y":4940.4140625,"z":218.52578735351566}}],"door_name":"Entrance 2","default_state":true,"state":true,"camera":false,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"secret":false,"distance":2}]} \ No newline at end of file diff --git a/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/ammunition_chumash.json b/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/ammunition_chumash.json new file mode 100644 index 000000000..6aa09a18e --- /dev/null +++ b/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/ammunition_chumash.json @@ -0,0 +1 @@ +{"name":"ammunition_chumash.json","imported":false,"data":[{"id":1,"perms":{"job":[{"grade":0,"name":"police"}],"identifier":[]},"location_group":"Ammunition Chumash","door_data":[{"model_hash":-8873588,"unique_id":"42nrwG7r4ol078MIDmuA6","text_dimensions":-1.30482494086027,"door_coords":{"x":-3163.81494140625,"y":1083.7794189453126,"z":20.98863983154297}},{"model_hash":97297972,"unique_id":"GNeqZoMe0yv0gF81NJjMC","text_dimensions":-1.30065524578094,"door_coords":{"x":-3164.848388671875,"y":1081.39306640625,"z":20.98863983154297}}],"door_name":"Entrance","secret":false,"state":false,"camera":false,"door_sound":"door_wooden.ogg","door_type":"double","lockpickable":false,"default_state":false,"distance":2}]} \ No newline at end of file diff --git a/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/ammunition_cypress_flats.json b/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/ammunition_cypress_flats.json new file mode 100644 index 000000000..5bac53c59 --- /dev/null +++ b/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/ammunition_cypress_flats.json @@ -0,0 +1 @@ +{"name":"ammunition_cypress_flats.json","imported":false,"data":[{"id":1,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Ammunition Cypress Flats","door_data":[{"unique_id":"OgkUO7E0xS4pTqkd7F047","model_hash":97297972,"text_dimensions":-1.30065524578094,"door_coords":{"x":813.1778564453125,"y":-2148.27001953125,"z":29.76892471313476}},{"unique_id":"Qkz-vvrvhGHcDoeaeM0r_","model_hash":-8873588,"text_dimensions":-1.30482494086027,"door_coords":{"x":810.5768432617188,"y":-2148.27001953125,"z":29.76892471313476}}],"door_name":"Entrance","secret":false,"state":false,"camera":false,"door_sound":"door_wooden.ogg","door_type":"double","lockpickable":false,"default_state":false,"distance":2},{"id":2,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Ammunition Cypress Flats","door_data":[{"unique_id":"xJ83I2tQ3vGVfzEMcXWYm","model_hash":44561767,"text_dimensions":1.30005121603608,"door_coords":{"x":826.227783203125,"y":-2157.864990234375,"z":29.71937942504882}}],"door_name":"Shooting Range 1","secret":false,"state":false,"camera":false,"door_sound":"door_metal.ogg","door_type":"single","lockpickable":false,"default_state":true,"distance":2},{"id":3,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Ammunition Cypress Flats","door_data":[{"unique_id":"Ku4-v5aXAvvuftN2lzDnq","model_hash":44561767,"text_dimensions":1.30005121603608,"door_coords":{"x":826.227783203125,"y":-2160.490234375,"z":29.71937942504882}}],"door_name":"Shooting Range 2","secret":false,"state":false,"camera":false,"door_sound":"door_metal.ogg","door_type":"single","lockpickable":false,"default_state":true,"distance":2},{"id":4,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Ammunition Cypress Flats","door_data":[{"unique_id":"QhIDMZBKnii1c81FnK6iD","model_hash":44561767,"text_dimensions":1.30005121603608,"door_coords":{"x":827.2681884765625,"y":-2164.65380859375,"z":29.73662948608398}}],"door_name":"Shooting Range 3","secret":false,"state":true,"camera":false,"door_sound":"door_metal.ogg","door_type":"single","lockpickable":false,"default_state":true,"distance":2}]} \ No newline at end of file diff --git a/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/ammunition_hawick.json b/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/ammunition_hawick.json new file mode 100644 index 000000000..bbc08ccea --- /dev/null +++ b/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/ammunition_hawick.json @@ -0,0 +1 @@ +{"name":"ammunition_hawick.json","imported":false,"data":[{"id":1,"perms":{"job":[{"grade":0,"name":"police"}],"identifier":[]},"location_group":"Ammunition Hawick","door_data":[{"unique_id":"F4MTt71Z6mNWUxyek2QFl","model_hash":-8873588,"text_dimensions":-1.30482494086027,"door_coords":{"x":243.84117126464845,"y":-46.52396011352539,"z":70.09095001220703}},{"unique_id":"WDHopxqPVQebwh6ZL6qjq","model_hash":97297972,"text_dimensions":-1.30065524578094,"door_coords":{"x":244.7306365966797,"y":-44.0802116394043,"z":70.09095001220703}}],"door_name":"Entrance","secret":false,"state":false,"camera":false,"door_sound":"door_wooden.ogg","door_type":"double","lockpickable":false,"default_state":false,"distance":2}]} \ No newline at end of file diff --git a/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/ammunition_la_mesa.json b/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/ammunition_la_mesa.json new file mode 100644 index 000000000..6b9ace84c --- /dev/null +++ b/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/ammunition_la_mesa.json @@ -0,0 +1 @@ +{"name":"ammunition_la_mesa.json","imported":false,"data":[{"id":1,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Ammunition La Mesa","door_data":[{"model_hash":-8873588,"unique_id":"Ll4q5DZAhBZo4ab2zwrCp","text_dimensions":-1.30482494086027,"door_coords":{"x":842.7689208984375,"y":-1024.5428466796876,"z":28.34475135803222}},{"model_hash":97297972,"unique_id":"-sI1zpZJmZw1ZC0tjfTZ7","text_dimensions":-1.30065524578094,"door_coords":{"x":845.3695068359375,"y":-1024.5428466796876,"z":28.34475135803222}}],"door_name":"Entrance","default_state":false,"state":false,"camera":false,"door_sound":"door_wooden.ogg","door_type":"double","lockpickable":false,"secret":false,"distance":2}]} \ No newline at end of file diff --git a/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/ammunition_legion.json b/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/ammunition_legion.json new file mode 100644 index 000000000..434eb7c00 --- /dev/null +++ b/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/ammunition_legion.json @@ -0,0 +1 @@ +{"name":"ammunition_legion.json","imported":false,"data":[{"id":1,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Legion Ammunation","door_data":[{"unique_id":"nbHXWzKoSc4ApI78V6BJw","model_hash":97297972,"text_dimensions":-1.30065524578094,"door_coords":{"x":16.12786865234375,"y":-1114.605224609375,"z":29.94693565368652}},{"unique_id":"8yYae-C57bhKVjbGK7Ey_","model_hash":-8873588,"text_dimensions":-1.30482494086027,"door_coords":{"x":18.5720100402832,"y":-1115.4947509765626,"z":29.94693565368652}}],"door_name":"Entrance","camera":false,"state":true,"secret":false,"door_sound":"door_regular.ogg","door_type":"double","lockpickable":false,"default_state":true,"distance":2},{"id":2,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Legion Ammunation","door_data":[{"unique_id":"GfkAgH-8LefLBG7RmppsJ","model_hash":44561767,"text_dimensions":1.30005121603608,"door_coords":{"x":7.14657020568847,"y":-1101.1256103515626,"z":29.89739036560058}}],"door_name":"Shooting Range 1","camera":false,"state":false,"secret":false,"door_sound":"door_metal.ogg","door_type":"single","lockpickable":false,"default_state":true,"distance":2},{"id":3,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Legion Ammunation","door_data":[{"unique_id":"Y7COFgBk8mUyhUiu6y057","model_hash":44561767,"text_dimensions":1.30005121603608,"door_coords":{"x":8.04443550109863,"y":-1098.65869140625,"z":29.89739036560058}}],"door_name":"Shooting Range 2","camera":false,"state":true,"secret":false,"door_sound":"door_metal.ogg","door_type":"single","lockpickable":false,"default_state":true,"distance":2},{"id":4,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Legion Ammunation","door_data":[{"unique_id":"uf-m_G0-qE-C7XtOA3cE5","model_hash":44561767,"text_dimensions":1.30005121603608,"door_coords":{"x":8.49085712432861,"y":-1094.3902587890626,"z":29.91464042663574}}],"door_name":"Shooting Range 3","camera":false,"state":true,"secret":false,"door_sound":"door_metal.ogg","door_type":"single","lockpickable":false,"default_state":true,"distance":2}]} \ No newline at end of file diff --git a/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/ammunition_little_seoul.json b/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/ammunition_little_seoul.json new file mode 100644 index 000000000..a2db6713e --- /dev/null +++ b/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/ammunition_little_seoul.json @@ -0,0 +1 @@ +{"name":"ammunition_little_seoul.json","imported":false,"data":[{"id":1,"perms":{"job":[{"grade":0,"name":"police"}],"identifier":[]},"location_group":"Ammunition Chumash","door_data":[{"model_hash":-8873588,"unique_id":"42nrwG7r4ol078MIDmuA6","text_dimensions":-1.30482494086027,"door_coords":{"x":-3163.81494140625,"y":1083.7794189453126,"z":20.98863983154297}},{"model_hash":97297972,"unique_id":"GNeqZoMe0yv0gF81NJjMC","text_dimensions":-1.30065524578094,"door_coords":{"x":-3164.848388671875,"y":1081.39306640625,"z":20.98863983154297}}],"door_name":"Entrance","secret":false,"state":false,"camera":false,"door_sound":"door_wooden.ogg","door_type":"double","lockpickable":false,"default_state":false,"distance":2},{"id":2,"perms":{"job":[{"grade":0,"name":"police"}],"identifier":[]},"location_group":"Ammunition Little Seoul","door_data":[{"model_hash":-8873588,"unique_id":"WgX5-UtzeEA2qdHrmV_rv","text_dimensions":-1.30482494086027,"door_coords":{"x":-662.6419067382813,"y":-944.3221435546876,"z":21.97912979125976}},{"model_hash":97297972,"unique_id":"DoBpWy6QaChGk5N7dZ35u","text_dimensions":-1.30065524578094,"door_coords":{"x":-665.2424926757813,"y":-944.3221435546876,"z":21.97912979125976}}],"door_name":"Entrance","secret":false,"state":false,"camera":false,"door_sound":"door_wooden.ogg","door_type":"double","lockpickable":false,"default_state":false,"distance":2}]} \ No newline at end of file diff --git a/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/ammunition_morningwood.json b/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/ammunition_morningwood.json new file mode 100644 index 000000000..7d745ef39 --- /dev/null +++ b/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/ammunition_morningwood.json @@ -0,0 +1 @@ +{"name":"ammunition_morningwood.json","imported":false,"data":[{"id":1,"perms":{"job":[{"grade":0,"name":"police"}],"identifier":[]},"location_group":"Ammunition Morningwood","door_data":[{"unique_id":"lJsN8TI5kfGMO_ZMt6ctW","model_hash":-8873588,"text_dimensions":-1.30482494086027,"door_coords":{"x":-1314.461669921875,"y":-391.6475524902344,"z":36.845703125}},{"unique_id":"yJSqd0UGMaeVc_EhtJb6x","model_hash":97297972,"text_dimensions":-1.30065524578094,"door_coords":{"x":-1313.82275390625,"y":-389.1266479492188,"z":36.84570693969726}}],"door_name":"Entrance","camera":false,"state":false,"secret":false,"door_sound":"door_wooden.ogg","door_type":"double","lockpickable":false,"default_state":false,"distance":2}]} \ No newline at end of file diff --git a/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/ammunition_paleto.json b/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/ammunition_paleto.json new file mode 100644 index 000000000..e762eedb7 --- /dev/null +++ b/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/ammunition_paleto.json @@ -0,0 +1 @@ +{"name":"ammunition_paleto.json","imported":false,"data":[{"id":1,"perms":{"job":[{"grade":0,"name":"police"}],"identifier":[]},"location_group":"Ammunition Paleto","door_data":[{"unique_id":"__xql00Satt4a0JIeZ-HC","model_hash":-8873588,"text_dimensions":-1.30482494086027,"door_coords":{"x":-324.2757263183594,"y":6077.111328125,"z":31.60467720031738}},{"unique_id":"WGKld9NztDBobEWZajB8z","model_hash":97297972,"text_dimensions":-1.30065524578094,"door_coords":{"x":-326.1146240234375,"y":6075.2724609375,"z":31.60467720031738}}],"door_name":"Entrance","default_state":false,"state":false,"secret":false,"door_sound":"door_wooden.ogg","door_type":"double","lockpickable":false,"camera":false,"distance":2}]} \ No newline at end of file diff --git a/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/ammunition_route_68.json b/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/ammunition_route_68.json new file mode 100644 index 000000000..edb1e9e2f --- /dev/null +++ b/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/ammunition_route_68.json @@ -0,0 +1 @@ +{"name":"ammunition_route_68.json","imported":false,"data":[{"id":1,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Ammunition Route 68","door_data":[{"unique_id":"bts5TB-oW1aJGyGO3x3Ep","model_hash":97297972,"text_dimensions":-1.30065524578094,"door_coords":{"x":-1114.0111083984376,"y":2689.773193359375,"z":18.70404052734375}},{"unique_id":"p64zYLOxypnsP9uIkFyKu","model_hash":-8873588,"text_dimensions":-1.30482494086027,"door_coords":{"x":-1112.0732421875,"y":2691.507568359375,"z":18.70404052734375}}],"door_name":"Entrance","camera":false,"state":false,"default_state":false,"door_sound":"door_wooden.ogg","door_type":"double","lockpickable":false,"secret":false,"distance":2}]} \ No newline at end of file diff --git a/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/ammunition_sandy.json b/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/ammunition_sandy.json new file mode 100644 index 000000000..91daf82ed --- /dev/null +++ b/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/ammunition_sandy.json @@ -0,0 +1 @@ +{"name":"ammunition_sandy.json","imported":false,"data":[{"id":1,"perms":{"job":[{"grade":0,"name":"police"}],"identifier":[]},"location_group":"Ammunition Sandy","door_data":[{"unique_id":"ZOGPzyDA4EMwVoQ_zN7S1","model_hash":-8873588,"text_dimensions":-1.30482494086027,"door_coords":{"x":1699.9344482421876,"y":3753.422119140625,"z":34.85523986816406}},{"unique_id":"RIahRbmdPKtBCU706PhvG","model_hash":97297972,"text_dimensions":-1.30065524578094,"door_coords":{"x":1698.1739501953126,"y":3751.508056640625,"z":34.85523986816406}}],"door_name":"Entrance","default_state":false,"state":false,"secret":false,"door_sound":"door_wooden.ogg","door_type":"double","lockpickable":false,"camera":false,"distance":2}]} \ No newline at end of file diff --git a/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/ammunition_tataviam_mountains.json b/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/ammunition_tataviam_mountains.json new file mode 100644 index 000000000..4f9c66ab5 --- /dev/null +++ b/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/ammunition_tataviam_mountains.json @@ -0,0 +1 @@ +{"name":"ammunition_tataviam_mountains.json","imported":false,"data":[{"id":1,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Ammunition Tataviam Mountains","door_data":[{"unique_id":"CsZAN8-pTQOzbPwsjnFsG","model_hash":-8873588,"text_dimensions":-1.30482494086027,"door_coords":{"x":2568.30419921875,"y":303.3522644042969,"z":108.88478088378906}},{"unique_id":"-zFFAOgELOjJYzibMZYSt","model_hash":97297972,"text_dimensions":-1.30065524578094,"door_coords":{"x":2570.90478515625,"y":303.3522644042969,"z":108.88478088378906}}],"door_name":"Entrance","camera":false,"state":false,"default_state":false,"door_sound":"door_wooden.ogg","door_type":"double","lockpickable":false,"secret":false,"distance":2}]} \ No newline at end of file diff --git a/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/aztecas.json b/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/aztecas.json new file mode 100644 index 000000000..f58d9c9cd --- /dev/null +++ b/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/aztecas.json @@ -0,0 +1 @@ +{"name":"aztecas.json","imported":false,"data":[{"id":1,"perms":{"job":[{"grade":0,"name":"aztecas"}],"identifier":[]},"location_group":"Aztecas","door_data":[{"model_hash":903896222,"unique_id":"x6RvS2bKXkW4YVDktAhvK","text_dimensions":-1.28941306484291,"door_coords":{"x":493.0755004882813,"y":-1541.8304443359376,"z":29.44704818725586}}],"door_name":"Entrance","secret":false,"state":true,"default_state":true,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"camera":true,"distance":2},{"id":2,"perms":{"job":[{"grade":0,"name":"aztecas"}],"identifier":[]},"location_group":"Aztecas","door_data":[{"model_hash":-1168990172,"unique_id":"TFRjSnUV9cAYgziPkRaIC","text_dimensions":-1.28941306484291,"door_coords":{"x":496.6208190917969,"y":-1530.5982666015626,"z":29.44704818725586}}],"door_name":"Toilet","secret":false,"state":false,"default_state":false,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"camera":false,"distance":2},{"id":3,"perms":{"job":[{"grade":0,"name":"aztecas"}],"identifier":[]},"location_group":"Aztecas","door_data":[{"model_hash":-1168990172,"unique_id":"slkOSj-AN5X7qmOmRQNBI","text_dimensions":-1.28941306484291,"door_coords":{"x":491.2002258300781,"y":-1533.0587158203126,"z":29.44644546508789}}],"door_name":"Hallway","secret":false,"state":false,"default_state":false,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"camera":true,"distance":2},{"id":4,"perms":{"job":[{"grade":0,"name":"aztecas"}],"identifier":[]},"location_group":"Aztecas","door_data":[{"model_hash":-1168990172,"unique_id":"mqbBmp1azrXlExRTyCgkh","text_dimensions":-1.28941306484291,"door_coords":{"x":488.5831604003906,"y":-1534.103271484375,"z":29.44644546508789}}],"door_name":"Office","secret":false,"state":true,"default_state":true,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"camera":true,"distance":2},{"id":5,"perms":{"job":[{"grade":0,"name":"aztecas"}],"identifier":[]},"location_group":"Aztecas","door_data":[{"model_hash":-1168990172,"unique_id":"RfCkU2mhQzM8gd_i5Roi2","text_dimensions":-1.28941306484291,"door_coords":{"x":490.9441223144531,"y":-1531.2901611328126,"z":29.44672966003418}}],"door_name":"Planning Room","secret":false,"state":true,"default_state":true,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"camera":true,"distance":2},{"id":6,"perms":{"job":[{"grade":0,"name":"aztecas"}],"identifier":[]},"location_group":"Aztecas","door_data":[{"model_hash":2103001488,"unique_id":"ChQkjIdf5ONYhKBHZG1O-","text_dimensions":-1.28941306484291,"door_coords":{"x":486.0135498046875,"y":-1530.3931884765626,"z":29.44704818725586}}],"door_name":"Rear Entrance","secret":false,"state":true,"default_state":true,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"camera":true,"distance":2}]} \ No newline at end of file diff --git a/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/bahama_mamas.json b/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/bahama_mamas.json new file mode 100644 index 000000000..ec1cf0861 --- /dev/null +++ b/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/bahama_mamas.json @@ -0,0 +1 @@ +{"name":"bahama_mamas.json","imported":false,"data":[{"distance":2,"default_state":true,"secret":false,"id":1,"door_data":[{"model_hash":-224738884,"unique_id":"JAo4tvZlmJuYygRfQTk0W","door_coords":{"x":-1387.035888671875,"y":-586.6932983398438,"z":30.44564437866211},"text_dimensions":-1.33685402944684},{"model_hash":666905606,"unique_id":"ia0M4pUBmyB6Mkj3GASow","door_coords":{"x":-1389.1368408203126,"y":-588.0576782226563,"z":30.44564437866211},"text_dimensions":-1.33693200349807}],"location_group":"Bahama Mama's","state":true,"door_name":"Entrance","door_type":"single","perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"identifier":[],"discord":[]},"lockpickable":false,"door_sound":"door_wooden.ogg","camera":false},{"distance":2,"default_state":true,"secret":false,"id":2,"door_data":[{"model_hash":134859901,"unique_id":"Cp3vhA6Qxvs8bEyh4T42o","door_coords":{"x":-1391.869140625,"y":-592.6160278320313,"z":30.44564628601074},"text_dimensions":-1.38835303857922},{"model_hash":134859901,"unique_id":"KiO7Cd2o9cVcoGSFe2vo-","door_coords":{"x":-1390.44873046875,"y":-594.80322265625,"z":30.44564628601074},"text_dimensions":-1.38835303857922}],"location_group":"Bahama Mama's","state":false,"door_name":"Lobby","door_type":"double","perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"identifier":[],"discord":[]},"lockpickable":false,"auto_lock":"","door_sound":"door_wooden.ogg","camera":false},{"distance":2,"default_state":true,"secret":false,"id":3,"door_data":[{"model_hash":-1266440846,"unique_id":"oGLaeu8HW4kRzYcHWV2kr","door_coords":{"x":-1391.491455078125,"y":-601.4703369140625,"z":30.44564628601074},"text_dimensions":-1.38835303857922}],"location_group":"Bahama Mama's","state":true,"door_name":"Restroom","door_type":"single","perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"identifier":[],"discord":[]},"lockpickable":false,"auto_lock":"","door_sound":"door_wooden.ogg","camera":false},{"distance":2,"default_state":true,"secret":false,"id":4,"door_data":[{"model_hash":-2102541881,"unique_id":"8tfri7pIDOvenZ21cyISR","door_coords":{"x":-1378.585693359375,"y":-621.3177490234375,"z":30.44564628601074},"text_dimensions":-1.38835303857922}],"location_group":"Bahama Mama's","state":true,"door_name":"Office","door_type":"single","perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"identifier":[],"discord":[]},"lockpickable":false,"auto_lock":"","door_sound":"door_wooden.ogg","camera":false},{"distance":2,"default_state":true,"secret":false,"id":5,"door_data":[{"model_hash":-2102541881,"unique_id":"6vOctGe132Pp6y-pR13Mn","door_coords":{"x":-1377.6776123046876,"y":-624.8816528320313,"z":30.44564628601074},"text_dimensions":-1.38835303857922}],"location_group":"Bahama Mama's","state":true,"door_name":"Changing Room","door_type":"single","perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"identifier":[],"discord":[]},"lockpickable":false,"auto_lock":"","door_sound":"door_wooden.ogg","camera":false},{"distance":2,"default_state":true,"secret":false,"id":6,"door_data":[{"model_hash":134859901,"unique_id":"InX5VStdhCXvpxJBo-iVx","door_coords":{"x":-1373.76025390625,"y":-628.7486572265625,"z":30.44564628601074},"text_dimensions":-1.38835303857922}],"location_group":"Bahama Mama's","state":true,"door_name":"Changing Room 2","door_type":"single","perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"identifier":[],"discord":[]},"lockpickable":false,"auto_lock":"","door_sound":"door_wooden.ogg","camera":false}]} \ No newline at end of file diff --git a/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/ballas.json b/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/ballas.json new file mode 100644 index 000000000..c331aec14 --- /dev/null +++ b/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/ballas.json @@ -0,0 +1 @@ +{"name":"ballas.json","imported":false,"data":[{"id":1,"perms":{"job":[{"grade":0,"name":"ballas"}],"identifier":[]},"location_group":"Ballas","door_data":[{"unique_id":"-jfp4WOTyCfjh2OJNs68S","model_hash":-1052955611,"text_dimensions":-1.30003573931753,"door_coords":{"x":0.2085236608982,"y":-1823.301025390625,"z":29.73543167114257}}],"door_name":"Staircase Entrance","secret":false,"state":true,"camera":true,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"default_state":true,"distance":2},{"id":2,"perms":{"job":[{"grade":0,"name":"ballas"}],"identifier":[]},"location_group":"Ballas","door_data":[{"unique_id":"6U0_f3_tre-dP17JvmzAG","model_hash":373216819,"text_dimensions":-1.30003574956208,"door_coords":{"x":-2.02733397483825,"y":-1819.2308349609376,"z":29.34070014953613}}],"door_name":"Toilet","secret":false,"state":true,"camera":false,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"default_state":true,"distance":2},{"id":3,"perms":{"job":[{"grade":0,"name":"ballas"}],"identifier":[]},"location_group":"Ballas","door_data":[{"unique_id":"4LxgCaXnQJXTfgtKiO0p6","model_hash":373216819,"text_dimensions":-1.30003574956208,"door_coords":{"x":0.04164028167724,"y":-1816.7576904296876,"z":29.34070014953613}}],"door_name":"Planning Room","secret":false,"state":true,"camera":true,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"default_state":true,"distance":2},{"id":4,"perms":{"job":[{"grade":0,"name":"ballas"}],"identifier":[]},"location_group":"Ballas","door_data":[{"unique_id":"80i7_bW3A4RRKAbjaN6sG","model_hash":373216819,"text_dimensions":-1.30003574956208,"door_coords":{"x":0.70339083671569,"y":-1814.7305908203128,"z":29.34070014953613}}],"door_name":"Office","secret":false,"state":true,"camera":true,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"default_state":true,"distance":2},{"id":5,"perms":{"job":[{"grade":0,"name":"ballas"}],"identifier":[]},"location_group":"Ballas","door_data":[{"unique_id":"hHN4V6L0UoNctrd7iiIPh","model_hash":-1351120742,"text_dimensions":-1.30003573931753,"door_coords":{"x":-1.87361574172973,"y":-1808.825927734375,"z":25.54070091247558}}],"door_name":"Downstairs Entrance","secret":false,"state":true,"camera":true,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"default_state":true,"distance":2},{"id":6,"perms":{"job":[{"grade":0,"name":"ballas"}],"identifier":[]},"location_group":"Ballas","door_data":[{"unique_id":"LdeCDiKMlXtn-uFT2yZwv","model_hash":373216819,"text_dimensions":-1.30003574956208,"door_coords":{"x":-6.94861030578613,"y":-1819.7347412109376,"z":29.34070014953613}}],"door_name":"Staircase","secret":false,"state":false,"camera":true,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"default_state":false,"distance":2}]} \ No newline at end of file diff --git a/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/barbershop_alhambradrive.json b/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/barbershop_alhambradrive.json new file mode 100644 index 000000000..778a26ee6 --- /dev/null +++ b/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/barbershop_alhambradrive.json @@ -0,0 +1 @@ +{"name":"barbershop_alhambradrive.json","imported":false,"data":[{"id":3,"perms":{"job":[{"grade":0,"name":"police"}],"identifier":[]},"location_group":"Barbershop Alhambra Drive","door_data":[{"unique_id":"lrSEYzDW3Vw-5NiqXFObN","model_hash":-1844444717,"text_dimensions":-1.3004457950592,"door_coords":{"x":1932.9512939453128,"y":3725.154296875,"z":32.99449920654297}}],"door_name":"Enterance","secret":false,"state":true,"camera":false,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"default_state":true,"distance":2}]} \ No newline at end of file diff --git a/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/barbershop_carsonave.json b/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/barbershop_carsonave.json new file mode 100644 index 000000000..ad22acd97 --- /dev/null +++ b/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/barbershop_carsonave.json @@ -0,0 +1 @@ +{"name":"barbershop_carsonave.json","imported":false,"data":[{"id":1,"perms":{"job":[{"grade":0,"name":"police"}],"identifier":[]},"location_group":"Barbershop Carson Ave","door_data":[{"unique_id":"6jMkimSD-Liw_mtwIVKb4","model_hash":-1844444717,"text_dimensions":-1.3004457950592,"door_coords":{"x":132.5574951171875,"y":-1710.9951171875,"z":29.44166755676269}}],"door_name":"Enterance","secret":false,"state":true,"camera":false,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"default_state":true,"distance":2}]} \ No newline at end of file diff --git a/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/barbershop_hawickave.json b/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/barbershop_hawickave.json new file mode 100644 index 000000000..3b8fce9a2 --- /dev/null +++ b/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/barbershop_hawickave.json @@ -0,0 +1 @@ +{"name":"barbershop_hawickave.json","imported":false,"data":[{"id":5,"perms":{"job":[{"grade":0,"name":"police"}],"identifier":[]},"location_group":"Barbershop Hawick Ave","door_data":[{"unique_id":"9sj-1XkysnGycHMcq2Kzm","model_hash":-1844444717,"text_dimensions":-1.3004457950592,"door_coords":{"x":-29.86952590942382,"y":-148.1580047607422,"z":57.22657775878906}}],"door_name":"Enterance","secret":false,"state":true,"camera":false,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"default_state":true,"distance":2}]} \ No newline at end of file diff --git a/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/barbershop_magellanave.json b/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/barbershop_magellanave.json new file mode 100644 index 000000000..e1e92c467 --- /dev/null +++ b/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/barbershop_magellanave.json @@ -0,0 +1 @@ +{"name":"barbershop_magellanave.json","imported":false,"data":[{"id":2,"perms":{"job":[{"grade":0,"name":"police"}],"identifier":[]},"location_group":"Barbershop Magellan Ave","door_data":[{"unique_id":"_TdR_cX0s9QYMDE8kXNiP","model_hash":-1844444717,"text_dimensions":-1.3004457950592,"door_coords":{"x":-1287.8558349609376,"y":-1115.7415771484376,"z":7.14017105102539}}],"door_name":"Enterance","secret":false,"state":true,"camera":false,"door_sound":"","door_type":"single","lockpickable":false,"default_state":true,"distance":2}]} \ No newline at end of file diff --git a/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/barbershop_mirrorpark.json b/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/barbershop_mirrorpark.json new file mode 100644 index 000000000..a012b1bce --- /dev/null +++ b/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/barbershop_mirrorpark.json @@ -0,0 +1 @@ +{"name":"barbershop_mirrorpark.json","imported":false,"data":[{"id":4,"perms":{"job":[{"grade":0,"name":"police"}],"identifier":[]},"location_group":"Barbershop Mirror Park","door_data":[{"unique_id":"J99Z9HiZSiNBxaHS4P4pL","model_hash":-1844444717,"text_dimensions":-1.3004457950592,"door_coords":{"x":1207.8740234375,"y":-470.0365295410156,"z":66.35810089111328}}],"door_name":"Enterance","secret":false,"state":true,"camera":false,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"default_state":true,"distance":2}]} \ No newline at end of file diff --git a/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/barbershop_paleto.json b/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/barbershop_paleto.json new file mode 100644 index 000000000..cdab47908 --- /dev/null +++ b/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/barbershop_paleto.json @@ -0,0 +1 @@ +{"name":"barbershop_paleto.json","imported":false,"data":[{"id":6,"perms":{"job":[{"grade":0,"name":"police"}],"identifier":[]},"location_group":"Barbershop Paleto","door_data":[{"unique_id":"iVuvzZSbZcz5pi27hyLH7","model_hash":-1844444717,"text_dimensions":-1.3004457950592,"door_coords":{"x":-280.7843933105469,"y":6232.78076171875,"z":31.8455810546875}}],"door_name":"Enterance","secret":false,"state":true,"camera":false,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"default_state":true,"distance":2}]} \ No newline at end of file diff --git a/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/bean_machine.json b/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/bean_machine.json new file mode 100644 index 000000000..03a70afd9 --- /dev/null +++ b/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/bean_machine.json @@ -0,0 +1 @@ +{"name":"bean_machine.json","imported":false,"data":[{"id":1,"perms":{"job":[{"grade":0,"name":"police"}],"identifier":[]},"location_group":"Bean Machine","door_data":[{"model_hash":494354570,"unique_id":"Juw1iRqGpsUWuBXoQVGPx","text_dimensions":-1.27720979717712,"door_coords":{"x":128.2133941650391,"y":-1029.455322265625,"z":29.26180076599121}}],"door_name":"Side Entrance","secret":false,"state":false,"camera":true,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"default_state":false,"distance":2},{"id":2,"perms":{"job":[{"grade":0,"name":"police"}],"identifier":[]},"location_group":"Bean Machine","door_data":[{"model_hash":-1182160879,"unique_id":"5UjmU3cLJOdbugOys32QK","text_dimensions":-1.18820981052856,"door_coords":{"x":114.56291198730468,"y":-1039.88818359375,"z":29.34832000732422}},{"model_hash":-747011272,"unique_id":"ifyZx-ErxAQEGWbvBcfh7","text_dimensions":-1.18820981052856,"door_coords":{"x":115.37569427490236,"y":-1037.655029296875,"z":29.34832000732422}}],"door_name":"Main Entrance","secret":false,"state":false,"camera":true,"door_sound":"door_regular.ogg","door_type":"double","lockpickable":false,"default_state":false,"distance":2}]} \ No newline at end of file diff --git a/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/bennys.json b/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/bennys.json new file mode 100644 index 000000000..c87f95994 --- /dev/null +++ b/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/bennys.json @@ -0,0 +1 @@ +{"name":"bennys.json","imported":false,"data":[{"secret":false,"default_state":true,"door_type":"single","door_name":"Entrance","distance":3,"location_group":"Bennys","perms":{"job":[{"name":"police","grade":0}],"ace":[],"discord":[],"identifier":[]},"door_sound":"","id":1,"door_data":[{"model_hash":-147325430,"unique_id":"y-9Y_MVoOZkMamFoJDBoX","text_dimensions":1.29998779296875,"door_coords":{"z":31.45024108886718,"y":-1315.1455078125,"x":-230.69924926757813}}],"camera":false,"lockpickable":false,"state":true},{"lockpickable":false,"secret":false,"door_type":"garage","door_sound":"","door_name":"Front Garage Door","distance":3,"default_state":true,"perms":{"job":[{"name":"police","grade":0}],"ace":[],"discord":[],"identifier":[]},"location_group":"Bennys","id":2,"door_data":[{"model_hash":-48831039,"unique_id":"sYQIQ1-mrO0kf-x6zTdHh","text_dimensions":0,"door_coords":{"z":32.72236633300781,"y":-1326.9986572265626,"x":-230.8119659423828}}],"auto_lock":"","camera":false,"state":true},{"lockpickable":false,"secret":false,"door_type":"garage","door_sound":"door_click.ogg","door_name":"Side left Garage","distance":3,"default_state":true,"perms":{"job":[{"name":"police","grade":0}],"ace":[],"discord":[],"identifier":[]},"location_group":"Bennys","id":3,"door_data":[{"model_hash":-1453834687,"unique_id":"F92DWnL5Uwu6I8avEIQm-","text_dimensions":0,"door_coords":{"z":30.68654823303222,"y":-1313.28564453125,"x":-207.76943969726566}}],"auto_lock":"","camera":false,"state":true},{"lockpickable":false,"secret":false,"door_type":"garage","door_sound":"door_click.ogg","door_name":"Side Right Garage","distance":3,"default_state":true,"perms":{"job":[{"name":"police","grade":0}],"ace":[],"discord":[],"identifier":[]},"location_group":"Bennys","id":4,"door_data":[{"model_hash":-1453834687,"unique_id":"4O3ICZsesgUj-LZ9-L0Aw","text_dimensions":0,"door_coords":{"z":30.48421478271484,"y":-1313.28564453125,"x":-215.73533630371098}}],"auto_lock":"","camera":false,"state":true},{"lockpickable":false,"secret":false,"door_type":"single","door_sound":"door_metal.ogg","door_name":"Office","distance":2,"default_state":true,"perms":{"job":[{"name":"police","grade":0}],"ace":[],"discord":[],"identifier":[]},"location_group":"Bennys","id":5,"door_data":[{"model_hash":-147325430,"unique_id":"ZmddAR3y-GF2haXKtZWj3","text_dimensions":1.29998779296875,"door_coords":{"z":31.46076011657715,"y":-1322.0712890625,"x":-197.44644165039066}}],"auto_lock":"","camera":false,"state":true},{"lockpickable":false,"secret":false,"door_type":"single","door_sound":"door_metal.ogg","door_name":"Locker Room","distance":2,"default_state":true,"perms":{"job":[{"name":"police","grade":0}],"ace":[],"discord":[],"identifier":[]},"location_group":"Bennys","id":6,"door_data":[{"model_hash":-147325430,"unique_id":"KJhRHlqWomZI5hS9Rv7f-","text_dimensions":1.29998779296875,"door_coords":{"z":31.46076011657715,"y":-1339.141845703125,"x":-197.44644165039066}}],"auto_lock":"","camera":false,"state":false},{"lockpickable":false,"secret":false,"door_type":"single","door_sound":"door_metal.ogg","door_name":"Storage Room","distance":2,"default_state":true,"perms":{"job":[{"name":"police","grade":0}],"ace":[],"discord":[],"identifier":[]},"location_group":"Bennys","id":7,"door_data":[{"model_hash":-147325430,"unique_id":"USUAIufJw2YM7llqrPT17","text_dimensions":1.29998779296875,"door_coords":{"z":31.45024108886718,"y":-1322.0716552734376,"x":-226.0601043701172}}],"auto_lock":"","camera":false,"state":true}]} \ No newline at end of file diff --git a/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/binco_grapeseed.json b/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/binco_grapeseed.json new file mode 100644 index 000000000..249c54321 --- /dev/null +++ b/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/binco_grapeseed.json @@ -0,0 +1 @@ +{"name":"binco_grapeseed.json","imported":false,"data":[{"id":1,"perms":{"job":[{"grade":0,"name":"police"}],"identifier":[]},"location_group":"Binco Grapeseed","door_data":[{"unique_id":"MiwlqKN2xNdVYG_0JYUeQ","model_hash":-1450680917,"text_dimensions":-1.13898681744467,"door_coords":{"x":1686.9937744140626,"y":4821.74267578125,"z":42.2269287109375}},{"unique_id":"Gvfes7RGzNsR0THCNonTT","model_hash":-720292672,"text_dimensions":-1.13898681744467,"door_coords":{"x":1687.2923583984376,"y":4819.48681640625,"z":42.2269287109375}}],"door_name":"Entrance","default_state":false,"state":false,"secret":false,"door_sound":"door_metal.ogg","door_type":"double","lockpickable":false,"camera":false,"distance":2}]} \ No newline at end of file diff --git a/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/binco_innocence_blvd.json b/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/binco_innocence_blvd.json new file mode 100644 index 000000000..00dfa533c --- /dev/null +++ b/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/binco_innocence_blvd.json @@ -0,0 +1 @@ +{"name":"binco_innocence_blvd.json","imported":false,"data":[{"id":1,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Binco Innocence Blvd","door_data":[{"model_hash":-720292672,"unique_id":"MDTWRfecpPUtggN6vt5Gy","text_dimensions":-1.13898681744467,"door_coords":{"x":82.37060546875,"y":-1390.476318359375,"z":29.53996086120605}},{"model_hash":-1450680917,"unique_id":"bwmfyj1szAtPfN-FWsQkF","text_dimensions":-1.13898681744467,"door_coords":{"x":82.37060546875,"y":-1392.751708984375,"z":29.53996086120605}}],"door_name":"Entrance","secret":false,"state":false,"camera":false,"door_sound":"door_metal.ogg","door_type":"double","lockpickable":false,"default_state":false,"distance":2}]} \ No newline at end of file diff --git a/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/binco_paleto.json b/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/binco_paleto.json new file mode 100644 index 000000000..2ee5c17f1 --- /dev/null +++ b/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/binco_paleto.json @@ -0,0 +1 @@ +{"name":"binco_paleto.json","imported":false,"data":[{"id":1,"perms":{"job":[{"grade":0,"name":"police"}],"identifier":[]},"location_group":"Binco Paleto","door_data":[{"model_hash":-1450680917,"unique_id":"igOHNRPWNHd7uhPr_URfJ","text_dimensions":-1.13898681744467,"door_coords":{"x":-0.04871225357055,"y":6517.453125,"z":32.04166793823242}},{"model_hash":-720292672,"unique_id":"ToHx9chryiz1eIXDsbdkE","text_dimensions":-1.13898681744467,"door_coords":{"x":-1.71715235710144,"y":6515.90625,"z":32.04166793823242}}],"door_name":"Entrance","default_state":false,"state":false,"camera":false,"door_sound":"door_metal.ogg","door_type":"double","lockpickable":false,"secret":false,"distance":2}]} \ No newline at end of file diff --git a/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/binco_palomino_ave.json b/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/binco_palomino_ave.json new file mode 100644 index 000000000..2272a2c53 --- /dev/null +++ b/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/binco_palomino_ave.json @@ -0,0 +1 @@ +{"name":"binco_palomino_ave.json","imported":false,"data":[{"id":1,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Binco Palomino Ave","door_data":[{"unique_id":"ZdPV4xxQ6Xkt10D7YjzbR","model_hash":-1450680917,"text_dimensions":-1.13898681744467,"door_coords":{"x":-818.77001953125,"y":-1079.534912109375,"z":11.49193000793457}},{"unique_id":"rikw3mFp5dkdt7u4UhDvT","model_hash":-720292672,"text_dimensions":-1.13898681744467,"door_coords":{"x":-816.7994384765625,"y":-1078.397216796875,"z":11.49193000793457}}],"door_name":"Entrance","default_state":false,"state":false,"camera":false,"door_sound":"door_metal.ogg","door_type":"double","lockpickable":false,"secret":false,"distance":2}]} \ No newline at end of file diff --git a/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/binco_rt68_1.json b/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/binco_rt68_1.json new file mode 100644 index 000000000..fb6d035fb --- /dev/null +++ b/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/binco_rt68_1.json @@ -0,0 +1 @@ +{"name":"binco_rt68_1.json","imported":false,"data":[{"id":1,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Binco RT68 1","door_data":[{"model_hash":-1450680917,"unique_id":"Vb6RIem7LicAIeAFuzGuN","text_dimensions":-1.13898681744467,"door_coords":{"x":1196.8243408203126,"y":2703.232421875,"z":38.38643646240234}},{"model_hash":-720292672,"unique_id":"MwjND9yVXReTcjCCzyR45","text_dimensions":-1.13898681744467,"door_coords":{"x":1199.0997314453126,"y":2703.232421875,"z":38.38643646240234}}],"door_name":"Entrance","secret":false,"state":false,"camera":false,"door_sound":"door_metal.ogg","door_type":"double","lockpickable":false,"default_state":false,"distance":2}]} \ No newline at end of file diff --git a/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/binco_rt68_2.json b/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/binco_rt68_2.json new file mode 100644 index 000000000..1291c2180 --- /dev/null +++ b/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/binco_rt68_2.json @@ -0,0 +1 @@ +{"name":"binco_rt68_2.json","imported":false,"data":[{"id":1,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Binco RT68 2","door_data":[{"unique_id":"G1mX5P_Rsumh1bxaxd-Dh","model_hash":-720292672,"text_dimensions":-1.13898681744467,"door_coords":{"x":-1094.9736328125,"y":2706.9716796875,"z":19.27168083190918}},{"unique_id":"n37YErHIeXcau2JkSCmYS","model_hash":-1450680917,"text_dimensions":-1.13898681744467,"door_coords":{"x":-1096.669189453125,"y":2705.454345703125,"z":19.27168083190918}}],"door_name":"Entrance","secret":false,"state":false,"camera":false,"door_sound":"door_metal.ogg","door_type":"double","lockpickable":false,"default_state":false,"distance":2}]} \ No newline at end of file diff --git a/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/binco_sinner_ave.json b/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/binco_sinner_ave.json new file mode 100644 index 000000000..de71c2ab1 --- /dev/null +++ b/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/binco_sinner_ave.json @@ -0,0 +1 @@ +{"name":"binco_sinner_ave.json","imported":false,"data":[{"id":1,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Binco Sinner St","door_data":[{"model_hash":-1450680917,"unique_id":"jeaofHSP0oo5YpMzpGn6Q","text_dimensions":-1.13898681744467,"door_coords":{"x":418.5821838378906,"y":-806.3977661132813,"z":29.65496063232422}},{"model_hash":-720292672,"unique_id":"o_cX7EFVTLfXc1-ZCmxrQ","text_dimensions":-1.13898681744467,"door_coords":{"x":418.5821838378906,"y":-808.6731567382813,"z":29.65496063232422}}],"door_name":"Entrance","camera":false,"state":false,"secret":false,"door_sound":"door_metal.ogg","door_type":"double","lockpickable":false,"default_state":false,"distance":2}]} \ No newline at end of file diff --git a/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/bolingbroke_prison.json b/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/bolingbroke_prison.json new file mode 100644 index 000000000..9f3e996bd --- /dev/null +++ b/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/bolingbroke_prison.json @@ -0,0 +1 @@ +{"name":"bolingbroke_prison.json","imported":false,"data":[{"id":1,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Bolingbroke Prison","door_data":[{"unique_id":"QzTgDyM4bKzfKAYBBHdUo","model_hash":741314661,"text_dimensions":7.43733577430248,"door_coords":{"x":1844.9984130859376,"y":2604.8125,"z":44.63977813720703}}],"door_name":"Entrance Gate 1","default_state":true,"state":false,"camera":true,"door_sound":"door_switch.ogg","door_type":"gates","lockpickable":false,"secret":false,"distance":10},{"id":2,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Bolingbroke Prison","door_data":[{"unique_id":"c3EIUl9YdMOuAYGhJQ00s","model_hash":741314661,"text_dimensions":7.43733577430248,"door_coords":{"x":1818.5428466796876,"y":2604.8125,"z":44.61100387573242}}],"door_name":"Entrance Gate 2","default_state":true,"state":false,"camera":true,"door_sound":"door_switch.ogg","door_type":"gates","lockpickable":false,"secret":false,"distance":10},{"id":3,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Bolingbroke Prison","door_data":[{"unique_id":"d3iCYS92fMePVhJwnhyte","model_hash":741314661,"text_dimensions":7.43733577430248,"door_coords":{"x":1799.6083984375,"y":2616.975341796875,"z":44.6032485961914}}],"door_name":"Side Gate","default_state":true,"state":false,"camera":true,"door_sound":"door_switch.ogg","door_type":"gates","lockpickable":false,"secret":false,"distance":10},{"id":4,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Bolingbroke Prison","door_data":[{"unique_id":"6LrhgzF1dQ2QQvajRf4U1","model_hash":741314661,"text_dimensions":7.43733577430248,"door_coords":{"x":1835.2855224609376,"y":2689.10205078125,"z":44.4443359375}}],"door_name":"Side Gate 2","default_state":true,"state":true,"camera":true,"door_sound":"door_switch.ogg","door_type":"gates","lockpickable":false,"secret":false,"distance":10},{"id":5,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Bolingbroke Prison","door_data":[{"unique_id":"kn0dCxk8H-HOG9r_vwJnk","model_hash":741314661,"text_dimensions":7.43733577430248,"door_coords":{"x":1828.994140625,"y":2706.78076171875,"z":44.44318008422851}}],"door_name":"Side Gate 3","default_state":true,"state":true,"camera":true,"door_sound":"door_switch.ogg","door_type":"gates","lockpickable":false,"secret":false,"distance":10},{"id":6,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Bolingbroke Prison","door_data":[{"unique_id":"Xn5bYO2Eqp7EESOfR31e3","model_hash":741314661,"text_dimensions":7.43733577430248,"door_coords":{"x":1776.7012939453126,"y":2747.14794921875,"z":44.44668960571289}}],"door_name":"Side Gate 4","default_state":true,"state":true,"camera":true,"door_sound":"door_switch.ogg","door_type":"gates","lockpickable":false,"secret":false,"distance":10},{"id":7,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Bolingbroke Prison","door_data":[{"unique_id":"XH2FDQXK0c3YuQFYyQal1","model_hash":741314661,"text_dimensions":7.43733577430248,"door_coords":{"x":1762.195556640625,"y":2752.48876953125,"z":44.44668960571289}}],"door_name":"Side Gate 5","default_state":true,"state":true,"camera":true,"door_sound":"door_switch.ogg","door_type":"gates","lockpickable":false,"secret":false,"distance":10},{"id":8,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Bolingbroke Prison","door_data":[{"unique_id":"gj-bcR1nxJZEUqeW02pWJ","model_hash":741314661,"text_dimensions":7.43733577430248,"door_coords":{"x":1662.05615234375,"y":2748.724609375,"z":44.44302368164062}}],"door_name":"Side Gate 6","default_state":true,"state":true,"camera":true,"door_sound":"door_switch.ogg","door_type":"gates","lockpickable":false,"secret":false,"distance":10},{"id":9,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Bolingbroke Prison","door_data":[{"unique_id":"9GaW4mhZZCXWA4_FCIxXT","model_hash":741314661,"text_dimensions":7.43733577430248,"door_coords":{"x":1648.409423828125,"y":2741.66796875,"z":44.44316864013672}}],"door_name":"Side Gate 7","default_state":true,"state":true,"camera":true,"door_sound":"door_switch.ogg","door_type":"gates","lockpickable":false,"secret":false,"distance":10},{"id":10,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Bolingbroke Prison","door_data":[{"unique_id":"c7EludI0zQJ-Ie5DRcfib","model_hash":741314661,"text_dimensions":7.43733577430248,"door_coords":{"x":1584.854736328125,"y":2680.023681640625,"z":44.50901794433594}}],"door_name":"Side Gate 8","default_state":true,"state":true,"camera":true,"door_sound":"door_switch.ogg","door_type":"gates","lockpickable":false,"secret":false,"distance":10},{"id":11,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Bolingbroke Prison","door_data":[{"unique_id":"EpQEG49hwxH8lHUHqg7kQ","model_hash":741314661,"text_dimensions":7.43733577430248,"door_coords":{"x":1575.7176513671876,"y":2667.150634765625,"z":44.50761795043945}}],"door_name":"Side Gate 9","default_state":true,"state":true,"camera":true,"door_sound":"door_switch.ogg","door_type":"gates","lockpickable":false,"secret":false,"distance":10},{"id":12,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Bolingbroke Prison","door_data":[{"unique_id":"H8YMHfZndIv11V8vA2ZQB","model_hash":741314661,"text_dimensions":7.43733577430248,"door_coords":{"x":1547.7061767578126,"y":2591.2822265625,"z":44.50946807861328}}],"door_name":"Side Gate 10","default_state":true,"state":true,"camera":true,"door_sound":"door_switch.ogg","door_type":"gates","lockpickable":false,"secret":false,"distance":10},{"id":13,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Bolingbroke Prison","door_data":[{"unique_id":"BDzGwW8nTzMmFVu60g04P","model_hash":741314661,"text_dimensions":7.43733577430248,"door_coords":{"x":1546.9833984375,"y":2576.129638671875,"z":44.39032745361328}}],"door_name":"Side Gate 11","default_state":true,"state":true,"camera":true,"door_sound":"door_switch.ogg","door_type":"gates","lockpickable":false,"secret":false,"distance":10},{"id":14,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Bolingbroke Prison","door_data":[{"unique_id":"SwrPsEjKsme0tLvssUH47","model_hash":741314661,"text_dimensions":7.43733577430248,"door_coords":{"x":1550.930419921875,"y":2482.743408203125,"z":44.39528656005859}}],"door_name":"Side Gate 12","default_state":true,"state":true,"camera":true,"door_sound":"door_switch.ogg","door_type":"gates","lockpickable":false,"secret":false,"distance":10},{"id":15,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Bolingbroke Prison","door_data":[{"unique_id":"jW72U84s-0IU7LP6w4UbQ","model_hash":741314661,"text_dimensions":7.43733577430248,"door_coords":{"x":1558.2232666015626,"y":2469.347900390625,"z":44.39436721801758}}],"door_name":"Side Gate 13","default_state":true,"state":true,"camera":true,"door_sound":"door_switch.ogg","door_type":"gates","lockpickable":false,"secret":false,"distance":10},{"id":16,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Bolingbroke Prison","door_data":[{"unique_id":"6DRUuFMD82SeGu88YPqW6","model_hash":741314661,"text_dimensions":7.43733577430248,"door_coords":{"x":1652.9559326171876,"y":2409.57421875,"z":44.44263458251953}}],"door_name":"Side Gate 14","default_state":true,"state":true,"camera":true,"door_sound":"door_switch.ogg","door_type":"gates","lockpickable":false,"secret":false,"distance":10},{"id":17,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Bolingbroke Prison","door_data":[{"unique_id":"L9iqdGXJJ6h1QaimdUOmn","model_hash":741314661,"text_dimensions":7.43733577430248,"door_coords":{"x":1667.6715087890626,"y":2407.6494140625,"z":44.4278450012207}}],"door_name":"Side Gate 15","default_state":true,"state":true,"camera":true,"door_sound":"door_switch.ogg","door_type":"gates","lockpickable":false,"secret":false,"distance":10},{"id":18,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Bolingbroke Prison","door_data":[{"unique_id":"6ZhglyEwlog5PNxf84Yf3","model_hash":741314661,"text_dimensions":7.43733577430248,"door_coords":{"x":1749.141845703125,"y":2419.81201171875,"z":44.4251708984375}}],"door_name":"Side Gate 16","default_state":true,"state":true,"camera":true,"door_sound":"door_switch.ogg","door_type":"gates","lockpickable":false,"secret":false,"distance":10},{"id":19,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Bolingbroke Prison","door_data":[{"unique_id":"FVz4nUX9A-Ah6WEvmN0op","model_hash":741314661,"text_dimensions":7.43733577430248,"door_coords":{"x":1762.544189453125,"y":2426.5068359375,"z":44.43555068969726}}],"door_name":"Side Gate 17","default_state":true,"state":true,"camera":true,"door_sound":"door_switch.ogg","door_type":"gates","lockpickable":false,"secret":false,"distance":10},{"id":20,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Bolingbroke Prison","door_data":[{"unique_id":"QFdYs7VrOPNwZ0qCPyImU","model_hash":741314661,"text_dimensions":7.43733577430248,"door_coords":{"x":1808.9915771484376,"y":2474.544921875,"z":44.48077392578125}}],"door_name":"Side Gate 18","default_state":true,"state":true,"camera":true,"door_sound":"door_switch.ogg","door_type":"gates","lockpickable":false,"secret":false,"distance":10},{"id":21,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Bolingbroke Prison","door_data":[{"unique_id":"xcUuq2QL0TKPa1tHkKJKa","model_hash":741314661,"text_dimensions":7.43733577430248,"door_coords":{"x":1813.749267578125,"y":2488.906982421875,"z":44.46368408203125}}],"door_name":"Side Gate 19","default_state":true,"state":true,"camera":true,"door_sound":"door_switch.ogg","door_type":"gates","lockpickable":false,"secret":false,"distance":10},{"id":22,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Bolingbroke Prison","door_data":[{"unique_id":"ZkdQ0x2SiuD7rFozaaYSV","model_hash":1373390714,"text_dimensions":1.07979595661163,"door_coords":{"x":1845.3372802734376,"y":2585.348876953125,"z":46.08554077148437}}],"door_name":"Entrance","default_state":true,"state":false,"camera":true,"door_sound":"door_metal.ogg","door_type":"single","lockpickable":false,"secret":false,"distance":2},{"id":23,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Bolingbroke Prison","door_data":[{"model_hash":-684929024,"unique_id":"5q5JZjmv3OaPK02siMVkT","text_dimensions":-1.28710997104644,"door_coords":{"x":1835.529052734375,"y":2587.44140625,"z":46.03715515136719}}],"door_name":"Visitors","secret":false,"state":true,"camera":true,"door_sound":"door_click.ogg","door_type":"single","lockpickable":false,"default_state":true,"distance":2},{"id":24,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Bolingbroke Prison","door_data":[{"model_hash":2024969025,"unique_id":"rNU4rxdTIgROZ6MRl-2zc","text_dimensions":-1.28710997104644,"door_coords":{"x":1844.4052734375,"y":2576.998291015625,"z":46.03564071655273}}],"door_name":"Information","secret":false,"state":true,"camera":true,"door_sound":"door_click.ogg","door_type":"single","lockpickable":false,"default_state":true,"distance":2},{"id":25,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Bolingbroke Prison","door_data":[{"model_hash":2024969025,"unique_id":"tScic_lpw5oAmS9q8ka7v","text_dimensions":-1.28710997104644,"door_coords":{"x":1837.63525390625,"y":2576.992919921875,"z":46.03863525390625}}],"door_name":"Lockers","secret":false,"state":true,"camera":true,"door_sound":"door_click.ogg","door_type":"single","lockpickable":false,"default_state":true,"distance":2},{"id":26,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Bolingbroke Prison","door_data":[{"model_hash":-684929024,"unique_id":"FY7FxO-7jNzBhGvuxNYRu","text_dimensions":-1.28710997104644,"door_coords":{"x":1838.618408203125,"y":2593.706298828125,"z":46.03639602661133}}],"door_name":"Mugshot","secret":false,"state":false,"camera":true,"door_sound":"door_click.ogg","door_type":"single","lockpickable":false,"default_state":false,"distance":2},{"id":27,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Bolingbroke Prison","door_data":[{"model_hash":-684929024,"unique_id":"ZDuVkoFrWO2aOZysw-GLV","text_dimensions":-1.28710997104644,"door_coords":{"x":1827.98291015625,"y":2592.158447265625,"z":46.0372200012207}}],"door_name":"Visitor Inmate Side","secret":false,"state":false,"camera":true,"door_sound":"door_click.ogg","door_type":"single","lockpickable":false,"default_state":true,"distance":2},{"id":28,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Bolingbroke Prison","door_data":[{"model_hash":1373390714,"unique_id":"YqP7hREWBROSj0F5ry5Pb","text_dimensions":1.07979595661163,"door_coords":{"x":1819.0743408203128,"y":2594.87451171875,"z":46.08699035644531}}],"door_name":"Processing Exit","secret":false,"state":false,"camera":true,"door_sound":"door_click.ogg","door_type":"single","lockpickable":false,"default_state":true,"distance":2},{"id":29,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Bolingbroke Prison","door_data":[{"model_hash":-1156020871,"unique_id":"OhBtvvpFaqqcSOa1v8gmx","text_dimensions":1.71312944777309,"door_coords":{"x":1797.7608642578126,"y":2596.56494140625,"z":46.3873062133789}}],"door_name":"Side Exit 1","default_state":true,"state":true,"secret":false,"door_sound":"door_metal.ogg","door_type":"single","lockpickable":false,"camera":false,"distance":2},{"id":30,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Bolingbroke Prison","door_data":[{"model_hash":-1156020871,"unique_id":"lKSzBfnq_FbH-O_0MCWT5","text_dimensions":1.71312944777309,"door_coords":{"x":1798.090087890625,"y":2591.687255859375,"z":46.41783905029297}}],"door_name":"Side Exit 2","secret":false,"state":false,"camera":false,"door_sound":"door_metal.ogg","door_type":"single","lockpickable":false,"default_state":true,"distance":2},{"id":31,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Bolingbroke Prison","door_data":[{"model_hash":1373390714,"unique_id":"MSsB9f02yn2aTPJAVpVH8","text_dimensions":1.07979595661163,"door_coords":{"x":1791.59521484375,"y":2551.462158203125,"z":45.75320434570312}}],"door_name":"Canteen Exit","secret":false,"state":true,"camera":true,"door_sound":"door_click.ogg","door_type":"single","lockpickable":false,"default_state":true,"distance":2},{"id":32,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Bolingbroke Prison","door_data":[{"model_hash":1373390714,"unique_id":"oeYSRuKshlrQL9oJh4q1n","text_dimensions":1.07979595661163,"door_coords":{"x":1776.1951904296876,"y":2552.563232421875,"z":45.74740600585937}}],"door_name":"Canteen Entrance","secret":false,"state":false,"camera":true,"door_sound":"door_click.ogg","door_type":"single","lockpickable":false,"default_state":true,"distance":2},{"id":33,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Bolingbroke Prison","door_data":[{"model_hash":2024969025,"unique_id":"3PMVeOU8kiY9grMoKbcGb","text_dimensions":-1.28710997104644,"door_coords":{"x":1786.8311767578126,"y":2560.268798828125,"z":45.69551086425781}}],"door_name":"Canteen Staff","secret":false,"state":true,"camera":true,"door_sound":"door_click.ogg","door_type":"single","lockpickable":false,"default_state":true,"distance":2},{"id":34,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Bolingbroke Prison","door_data":[{"model_hash":1373390714,"unique_id":"zo4xwL2CiSzmCOjfz_-f5","text_dimensions":1.07979595661163,"door_coords":{"x":1765.1181640625,"y":2566.52392578125,"z":45.8028450012207}}],"door_name":"Infirmary Entrance","secret":false,"state":false,"camera":true,"door_sound":"door_click.ogg","door_type":"single","lockpickable":false,"default_state":false,"distance":2},{"id":35,"perms":{"job":[{"name":"police","grade":0},{"name":"ems","grade":0}],"identifier":[]},"location_group":"Bolingbroke Prison","door_data":[{"model_hash":2074175368,"unique_id":"sk6XfBvnjAXyK4qYRtf4H","text_dimensions":-1.28710997104644,"door_coords":{"x":1772.8133544921876,"y":2570.29638671875,"z":45.74467468261719}}],"door_name":"Infirmary Reception","default_state":true,"state":true,"secret":false,"door_sound":"door_click.ogg","door_type":"single","lockpickable":false,"camera":false,"distance":2},{"id":36,"perms":{"job":[{"name":"police","grade":0},{"name":"ems","grade":0}],"identifier":[]},"location_group":"Bolingbroke Prison","door_data":[{"model_hash":-1624297821,"unique_id":"wEgWyH6eggasb4FE7STx9","text_dimensions":-1.14990198612213,"door_coords":{"x":1766.3250732421876,"y":2574.6982421875,"z":45.75300598144531}},{"model_hash":-1624297821,"unique_id":"N1lIZaTCmyIavZlHAGDhg","text_dimensions":-1.14990198612213,"door_coords":{"x":1764.0250244140626,"y":2574.6982421875,"z":45.75300598144531}}],"door_name":"Infirmary Rooms","default_state":true,"state":true,"secret":false,"door_sound":"door_click.ogg","door_type":"single","lockpickable":false,"camera":false,"distance":2},{"id":37,"perms":{"job":[{"name":"police","grade":0},{"name":"ems","grade":0}],"identifier":[]},"location_group":"Bolingbroke Prison","door_data":[{"model_hash":-1624297821,"unique_id":"rTSrmtxDJiC_uCI-PHkEu","text_dimensions":-1.14990198612213,"door_coords":{"x":1764.026123046875,"y":2589.564208984375,"z":45.75308990478515}},{"model_hash":-1624297821,"unique_id":"jkpkL0RNlntlVq1oU2SNY","text_dimensions":-1.14990198612213,"door_coords":{"x":1766.3250732421876,"y":2589.564208984375,"z":45.75308990478515}}],"door_name":"Intensive Care","secret":false,"state":false,"camera":true,"door_sound":"door_metal.ogg","door_type":"double","lockpickable":false,"default_state":false,"distance":2},{"id":38,"perms":{"job":[{"name":"police","grade":0},{"name":"ems","grade":0}],"identifier":[]},"location_group":"Bolingbroke Prison","door_data":[{"model_hash":-1624297821,"unique_id":"Nzt_f-JSc2WqdufgJuyiW","text_dimensions":-1.14990198612213,"door_coords":{"x":1767.32080078125,"y":2584.607177734375,"z":45.75344848632812}},{"model_hash":-1624297821,"unique_id":"7Rr8qAvYjw5DqAHy3lbTr","text_dimensions":-1.14990198612213,"door_coords":{"x":1767.32080078125,"y":2582.307861328125,"z":45.75344848632812}}],"door_name":"Surgery","secret":false,"state":false,"camera":true,"door_sound":"door_metal.ogg","door_type":"double","lockpickable":false,"default_state":false,"distance":2},{"id":39,"perms":{"job":[{"name":"police","grade":0},{"name":"ems","grade":0}],"identifier":[]},"location_group":"Bolingbroke Prison","door_data":[{"model_hash":-1392981450,"unique_id":"N3Ta7PCYxEwzfF0RJQ7dk","text_dimensions":-1.28710997104644,"door_coords":{"x":1767.3232421875,"y":2580.83203125,"z":45.74782562255859}}],"door_name":"Lab","secret":false,"state":true,"camera":true,"door_sound":"door_metal.ogg","door_type":"single","lockpickable":false,"default_state":true,"distance":2},{"id":40,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Bolingbroke Prison","door_data":[{"model_hash":-1156020871,"unique_id":"AhMbFuO9JqHGxCpOqCzX1","text_dimensions":1.71312944777309,"door_coords":{"x":1761.397705078125,"y":2529.338134765625,"z":46.25222015380859}}],"door_name":"Staircase 1","secret":false,"state":true,"camera":false,"door_sound":"door_metal.ogg","door_type":"single","lockpickable":false,"default_state":true,"distance":2},{"id":41,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Bolingbroke Prison","door_data":[{"model_hash":-1156020871,"unique_id":"qqQsU0rDw3pkeg8D62bqL","text_dimensions":1.71312944777309,"door_coords":{"x":1727.015625,"y":2509.423583984375,"z":46.06240463256836}}],"door_name":"Staircase 2","secret":false,"state":true,"camera":false,"door_sound":"door_metal.ogg","door_type":"single","lockpickable":false,"default_state":true,"distance":2},{"id":42,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Bolingbroke Prison","door_data":[{"model_hash":-1156020871,"unique_id":"Yv_V-XJFrpOIJTdevWAKy","text_dimensions":1.71312944777309,"door_coords":{"x":1712.7598876953126,"y":2489.613037109375,"z":46.25222015380859}}],"door_name":"Staircase 3","secret":false,"state":true,"camera":false,"door_sound":"door_metal.ogg","door_type":"single","lockpickable":false,"default_state":true,"distance":2},{"id":43,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Bolingbroke Prison","door_data":[{"model_hash":-1156020871,"unique_id":"6ICRJKARjSClFAHK_Bs9y","text_dimensions":1.71312944777309,"door_coords":{"x":1673.03271484375,"y":2489.581298828125,"z":46.25222015380859}}],"door_name":"Staircase 4","secret":false,"state":true,"camera":false,"door_sound":"door_metal.ogg","door_type":"single","lockpickable":false,"default_state":true,"distance":2},{"id":44,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Bolingbroke Prison","door_data":[{"model_hash":-1156020871,"unique_id":"KQo78QIcQclTsO9YxT0QO","text_dimensions":1.71312944777309,"door_coords":{"x":1653.7633056640626,"y":2493.57666015625,"z":46.25222015380859}}],"door_name":"Staircase 5","secret":false,"state":true,"camera":false,"door_sound":"door_metal.ogg","door_type":"single","lockpickable":false,"default_state":true,"distance":2},{"id":45,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Bolingbroke Prison","door_data":[{"model_hash":-1156020871,"unique_id":"8Z3feyKRR0YhYvakKGVs9","text_dimensions":1.71312944777309,"door_coords":{"x":1623.3203125,"y":2519.109375,"z":46.25222015380859}}],"door_name":"Staircase 6","secret":false,"state":true,"camera":false,"door_sound":"door_metal.ogg","door_type":"single","lockpickable":false,"default_state":true,"distance":2},{"id":46,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Bolingbroke Prison","door_data":[{"model_hash":-1156020871,"unique_id":"ylS1DkFrWEIJots3cFSTZ","text_dimensions":1.71312944777309,"door_coords":{"x":1618.30712890625,"y":2533.870361328125,"z":46.25222015380859}}],"door_name":"Staircase 7","secret":false,"state":true,"camera":false,"door_sound":"door_metal.ogg","door_type":"single","lockpickable":false,"default_state":true,"distance":2},{"id":47,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Bolingbroke Prison","door_data":[{"model_hash":-1156020871,"unique_id":"MiTHJ1VA4uoFELHhPIHUZ","text_dimensions":1.71312944777309,"door_coords":{"x":1618.3304443359376,"y":2573.611083984375,"z":46.25222015380859}}],"door_name":"Staircase 8","secret":false,"state":true,"camera":false,"door_sound":"door_metal.ogg","door_type":"single","lockpickable":false,"default_state":true,"distance":2},{"id":48,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Bolingbroke Prison","door_data":[{"model_hash":-1156020871,"unique_id":"pUNMDA3pKjxVng-qpyqYK","text_dimensions":1.71312944777309,"door_coords":{"x":1681.2083740234376,"y":2564.7822265625,"z":46.25222015380859}}],"door_name":"Staircase 9","default_state":true,"state":true,"secret":false,"door_sound":"door_metal.ogg","door_type":"single","lockpickable":false,"camera":false,"distance":2},{"id":49,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Bolingbroke Prison","door_data":[{"model_hash":-1156020871,"unique_id":"8rnOw5g0SmVsQrBppWZZM","text_dimensions":1.71312944777309,"door_coords":{"x":1708.4818115234376,"y":2564.782470703125,"z":46.25222015380859}}],"door_name":"Staircase 10","secret":false,"state":true,"camera":false,"door_sound":"door_metal.ogg","door_type":"single","lockpickable":false,"default_state":true,"distance":2},{"id":50,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Bolingbroke Prison","door_data":[{"model_hash":-1156020871,"unique_id":"YQQqyitWAYvenOwJgN4f5","text_dimensions":1.71312944777309,"door_coords":{"x":1744.181640625,"y":2562.525390625,"z":46.25222015380859}}],"door_name":"Staircase 11","secret":false,"state":true,"camera":false,"door_sound":"door_metal.ogg","door_type":"single","lockpickable":false,"default_state":true,"distance":2},{"id":51,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Bolingbroke Prison","door_data":[{"model_hash":-1156020871,"unique_id":"HeU0kcsnAtGU9IxLKadwm","text_dimensions":1.71312944777309,"door_coords":{"x":1697.400390625,"y":2544.275390625,"z":46.23442840576172}},{"model_hash":-1156020871,"unique_id":"SkbF5Sq-pykuGMY-wLB7S","text_dimensions":1.71312944777309,"door_coords":{"x":1697.4000244140626,"y":2547.65380859375,"z":46.23442840576172}}],"door_name":"Guard Tower Fence","secret":false,"state":true,"camera":false,"door_sound":"door_metal.ogg","door_type":"double","lockpickable":false,"default_state":true,"distance":2},{"id":52,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Bolingbroke Prison","door_data":[{"model_hash":1373390714,"unique_id":"AW3SxPr61TRc0wZjOSmgm","text_dimensions":1.07979595661163,"door_coords":{"x":1754.795654296875,"y":2501.568359375,"z":45.80965805053711}}],"door_name":"Cells Entrance","secret":false,"state":true,"camera":true,"door_sound":"door_click.ogg","door_type":"single","lockpickable":false,"default_state":true,"distance":2},{"id":53,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Bolingbroke Prison","door_data":[{"model_hash":241550507,"unique_id":"R-aT5QEUK3JGGebWVnoAP","text_dimensions":-1.2202151150268,"door_coords":{"x":1758.65185546875,"y":2492.659423828125,"z":45.8898811340332}}],"door_name":"Cell Block","secret":false,"state":false,"camera":true,"door_sound":"door_click.ogg","door_type":"single","lockpickable":false,"default_state":true,"distance":2},{"id":54,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Bolingbroke Prison","door_data":[{"model_hash":241550507,"unique_id":"8oFDmFCJCSN1ih-0NPLAc","text_dimensions":-1.2202151150268,"door_coords":{"x":1751.147216796875,"y":2481.177734375,"z":45.8898811340332}}],"door_name":"Gym","secret":false,"state":true,"camera":true,"door_sound":"door_click.ogg","door_type":"single","lockpickable":false,"default_state":true,"distance":2},{"id":55,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Bolingbroke Prison","door_data":[{"model_hash":241550507,"unique_id":"vEwyLHQHm_XgAhhG5iQ-p","text_dimensions":-1.2202151150268,"door_coords":{"x":1752.28076171875,"y":2479.24755859375,"z":45.8898811340332}}],"door_name":"Pool","secret":false,"state":true,"camera":true,"door_sound":"door_click.ogg","door_type":"single","lockpickable":false,"default_state":true,"distance":2},{"id":56,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Bolingbroke Prison","door_data":[{"model_hash":241550507,"unique_id":"cYAynOIh3ilAN37WxhseA","text_dimensions":-1.2202151150268,"door_coords":{"x":1775.4141845703126,"y":2491.025390625,"z":49.84005737304687}}],"door_name":"Cell Control 1","secret":false,"state":true,"camera":true,"door_sound":"door_click.ogg","door_type":"single","lockpickable":false,"default_state":true,"distance":2},{"id":57,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Bolingbroke Prison","door_data":[{"model_hash":241550507,"unique_id":"F1spbb92CJUkUQfM3vyL1","text_dimensions":-1.2202151150268,"door_coords":{"x":1772.9385986328126,"y":2495.313232421875,"z":49.84005737304687}}],"door_name":"Cell Control 2","secret":false,"state":false,"camera":true,"door_sound":"door_click.ogg","door_type":"single","lockpickable":false,"default_state":true,"distance":2},{"id":58,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Bolingbroke Prison","door_data":[{"model_hash":913760512,"unique_id":"kn7qfoKtTle8nSRaAYiT3","text_dimensions":-1.2202151150268,"door_coords":{"x":1768.5477294921876,"y":2498.410888671875,"z":45.8898811340332}}],"door_name":"Cell 1","secret":false,"state":false,"camera":true,"door_sound":"door_click.ogg","door_type":"single","lockpickable":false,"default_state":false,"distance":2},{"id":59,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Bolingbroke Prison","door_data":[{"model_hash":913760512,"unique_id":"-T-3ib4cJ7HSLtvmjRHSx","text_dimensions":-1.2202151150268,"door_coords":{"x":1765.40087890625,"y":2496.59423828125,"z":45.8898811340332}}],"door_name":"Cell 2","secret":false,"state":false,"camera":true,"door_sound":"door_click.ogg","door_type":"single","lockpickable":false,"default_state":false,"distance":2},{"id":60,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Bolingbroke Prison","door_data":[{"model_hash":913760512,"unique_id":"GEJbhiN-0iRA4_T5ucRvW","text_dimensions":-1.2202151150268,"door_coords":{"x":1762.2547607421876,"y":2494.7783203125,"z":45.8898811340332}}],"door_name":"Cell 3","secret":false,"state":false,"camera":true,"door_sound":"door_click.ogg","door_type":"single","lockpickable":false,"default_state":false,"distance":2},{"id":61,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Bolingbroke Prison","door_data":[{"model_hash":913760512,"unique_id":"ux518xADZO2ZC6dL9I2uJ","text_dimensions":-1.2202151150268,"door_coords":{"x":1755.963134765625,"y":2491.146240234375,"z":45.8898811340332}}],"door_name":"Cell 4","secret":false,"state":false,"camera":true,"door_sound":"door_click.ogg","door_type":"single","lockpickable":false,"default_state":false,"distance":2},{"id":62,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Bolingbroke Prison","door_data":[{"model_hash":913760512,"unique_id":"6sFLbmY88a2vC_mjQphzs","text_dimensions":-1.2202151150268,"door_coords":{"x":1752.81689453125,"y":2489.330322265625,"z":45.8898811340332}}],"door_name":"Cell 5","secret":false,"state":false,"camera":true,"door_sound":"door_click.ogg","door_type":"single","lockpickable":false,"default_state":false,"distance":2},{"id":63,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Bolingbroke Prison","door_data":[{"model_hash":913760512,"unique_id":"uaKVgwRdb5ROL4fJiFZ_f","text_dimensions":-1.2202151150268,"door_coords":{"x":1749.670654296875,"y":2487.514404296875,"z":45.8898811340332}}],"door_name":"Cell 6","secret":false,"state":false,"camera":true,"door_sound":"door_click.ogg","door_type":"single","lockpickable":false,"default_state":false,"distance":2},{"id":64,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Bolingbroke Prison","door_data":[{"model_hash":913760512,"unique_id":"DMEEzEJwkjEVuWriY0Ebk","text_dimensions":-1.2202151150268,"door_coords":{"x":1768.5474853515626,"y":2498.411865234375,"z":49.84590530395508}}],"door_name":"Cell 7","secret":false,"state":false,"camera":true,"door_sound":"door_click.ogg","door_type":"single","lockpickable":false,"default_state":false,"distance":2},{"id":65,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Bolingbroke Prison","door_data":[{"model_hash":913760512,"unique_id":"JUFw3E97eOvonasusWlJx","text_dimensions":-1.2202151150268,"door_coords":{"x":1765.4007568359376,"y":2496.59521484375,"z":49.84590530395508}}],"door_name":"Cell 8","secret":false,"state":false,"camera":true,"door_sound":"door_click.ogg","door_type":"single","lockpickable":false,"default_state":false,"distance":2},{"id":66,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Bolingbroke Prison","door_data":[{"model_hash":913760512,"unique_id":"bzwAzRWP3L8WQqloojndA","text_dimensions":-1.2202151150268,"door_coords":{"x":1762.2547607421876,"y":2494.778564453125,"z":49.84590530395508}}],"door_name":"Cell 9","secret":false,"state":false,"camera":true,"door_sound":"door_click.ogg","door_type":"single","lockpickable":false,"default_state":false,"distance":2},{"id":67,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Bolingbroke Prison","door_data":[{"model_hash":913760512,"unique_id":"kCkVceDMd8Axwe8G8VnZs","text_dimensions":-1.2202151150268,"door_coords":{"x":1759.109375,"y":2492.962890625,"z":49.84590530395508}}],"door_name":"Cell 10","secret":false,"state":false,"camera":true,"door_sound":"door_click.ogg","door_type":"single","lockpickable":false,"default_state":false,"distance":2},{"id":68,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Bolingbroke Prison","door_data":[{"model_hash":913760512,"unique_id":"U01DLwti0C8G5UnCnbkUi","text_dimensions":-1.2202151150268,"door_coords":{"x":1755.9632568359376,"y":2491.145751953125,"z":49.84590530395508}}],"door_name":"Cell 11","secret":false,"state":false,"camera":true,"door_sound":"door_click.ogg","door_type":"single","lockpickable":false,"default_state":false,"distance":2},{"id":69,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Bolingbroke Prison","door_data":[{"model_hash":913760512,"unique_id":"ma2I9cJPOGWN7eVEcUH-a","text_dimensions":-1.2202151150268,"door_coords":{"x":1752.8172607421876,"y":2489.329345703125,"z":49.84590530395508}}],"door_name":"Cell 12","secret":false,"state":false,"camera":true,"door_sound":"door_click.ogg","door_type":"single","lockpickable":false,"default_state":false,"distance":2},{"id":70,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Bolingbroke Prison","door_data":[{"model_hash":913760512,"unique_id":"EOFBXKQ53eThpGrpBf8OZ","text_dimensions":-1.2202151150268,"door_coords":{"x":1749.671142578125,"y":2487.5126953125,"z":49.84590530395508}}],"door_name":"Cell 13","secret":false,"state":false,"camera":true,"door_sound":"door_click.ogg","door_type":"single","lockpickable":false,"default_state":false,"distance":2},{"id":71,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Bolingbroke Prison","door_data":[{"model_hash":913760512,"unique_id":"-v68owgnTWperNzLqTt-q","text_dimensions":-1.2202151150268,"door_coords":{"x":1758.0780029296876,"y":2475.392578125,"z":45.8898811340332}}],"door_name":"Cell 14","secret":false,"state":false,"camera":true,"door_sound":"door_click.ogg","door_type":"single","lockpickable":false,"default_state":false,"distance":2},{"id":72,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Bolingbroke Prison","door_data":[{"model_hash":913760512,"unique_id":"5MERWt9tS-GlM2L2XGC-K","text_dimensions":-1.2202151150268,"door_coords":{"x":1761.224609375,"y":2477.209716796875,"z":45.8898811340332}}],"door_name":"Cell 15","secret":false,"state":false,"camera":true,"door_sound":"door_click.ogg","door_type":"single","lockpickable":false,"default_state":false,"distance":2},{"id":73,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Bolingbroke Prison","door_data":[{"model_hash":913760512,"unique_id":"hWbovGrh6JD8s_S5OkGrF","text_dimensions":-1.2202151150268,"door_coords":{"x":1764.3692626953126,"y":2479.025634765625,"z":45.8898811340332}}],"door_name":"Cell 16","secret":false,"state":false,"camera":true,"door_sound":"door_click.ogg","door_type":"single","lockpickable":false,"default_state":false,"distance":2},{"id":74,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Bolingbroke Prison","door_data":[{"model_hash":913760512,"unique_id":"Vo05RBBocc1oqaGA64HiJ","text_dimensions":-1.2202151150268,"door_coords":{"x":1767.5152587890626,"y":2480.842529296875,"z":45.8898811340332}}],"door_name":"Cell 17","secret":false,"state":false,"camera":true,"door_sound":"door_click.ogg","door_type":"single","lockpickable":false,"default_state":false,"distance":2},{"id":75,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Bolingbroke Prison","door_data":[{"model_hash":913760512,"unique_id":"xlG3qkaHkVSrAxwWF5qEk","text_dimensions":-1.2202151150268,"door_coords":{"x":1770.6605224609376,"y":2482.658935546875,"z":45.8898811340332}}],"door_name":"Cell 18","secret":false,"state":false,"camera":true,"door_sound":"door_click.ogg","door_type":"single","lockpickable":false,"default_state":false,"distance":2},{"id":76,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Bolingbroke Prison","door_data":[{"model_hash":913760512,"unique_id":"3KdBqT9in2_9JYhi58-18","text_dimensions":-1.2202151150268,"door_coords":{"x":1773.8067626953126,"y":2484.475830078125,"z":45.8898811340332}}],"door_name":"Cell 19","secret":false,"state":false,"camera":true,"door_sound":"door_click.ogg","door_type":"single","lockpickable":false,"default_state":false,"distance":2},{"id":77,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Bolingbroke Prison","door_data":[{"model_hash":913760512,"unique_id":"umgIPw9v3qCmq2sPmxhXh","text_dimensions":-1.2202151150268,"door_coords":{"x":1776.951904296875,"y":2486.292236328125,"z":45.8898811340332}}],"door_name":"Cell 20","secret":false,"state":false,"camera":true,"door_sound":"door_click.ogg","door_type":"single","lockpickable":false,"default_state":false,"distance":2},{"id":78,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Bolingbroke Prison","door_data":[{"model_hash":913760512,"unique_id":"SeB_b2DJIhVlMVUN-5fUQ","text_dimensions":-1.2202151150268,"door_coords":{"x":1758.078369140625,"y":2475.391357421875,"z":49.84635925292969}}],"door_name":"Cell 21","secret":false,"state":false,"camera":true,"door_sound":"door_click.ogg","door_type":"single","lockpickable":false,"default_state":false,"distance":2},{"id":79,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Bolingbroke Prison","door_data":[{"model_hash":913760512,"unique_id":"6lIeDJ3xO3_y812bamIbc","text_dimensions":-1.2202151150268,"door_coords":{"x":1761.224853515625,"y":2477.208740234375,"z":49.84635925292969}}],"door_name":"Cell 22","secret":false,"state":false,"camera":true,"door_sound":"door_click.ogg","door_type":"single","lockpickable":false,"default_state":false,"distance":2},{"id":80,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Bolingbroke Prison","door_data":[{"model_hash":913760512,"unique_id":"x9CdxqO7u-CrmYKZZgtAs","text_dimensions":-1.2202151150268,"door_coords":{"x":1764.369384765625,"y":2479.025146484375,"z":49.84635925292969}}],"door_name":"Cell 23","secret":false,"state":false,"camera":true,"door_sound":"door_click.ogg","door_type":"single","lockpickable":false,"default_state":false,"distance":2},{"id":81,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Bolingbroke Prison","door_data":[{"model_hash":913760512,"unique_id":"EFN9mCeAdIY1PII9c7lrD","text_dimensions":-1.2202151150268,"door_coords":{"x":1767.51513671875,"y":2480.842529296875,"z":49.84635925292969}}],"door_name":"Cell 24","secret":false,"state":false,"camera":true,"door_sound":"door_click.ogg","door_type":"single","lockpickable":false,"default_state":false,"distance":2},{"id":82,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Bolingbroke Prison","door_data":[{"model_hash":913760512,"unique_id":"O5BgwPes1HT8i69pFZ92H","text_dimensions":-1.2202151150268,"door_coords":{"x":1770.6602783203126,"y":2482.659423828125,"z":49.84635925292969}}],"door_name":"Cell 25","secret":false,"state":false,"camera":true,"door_sound":"door_click.ogg","door_type":"single","lockpickable":false,"default_state":false,"distance":2},{"id":83,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Bolingbroke Prison","door_data":[{"model_hash":913760512,"unique_id":"Ic5Pk7OK7CufQYDw-UiUt","text_dimensions":-1.2202151150268,"door_coords":{"x":1773.8065185546876,"y":2484.4765625,"z":49.84635925292969}}],"door_name":"Cell 26","secret":false,"state":false,"camera":true,"door_sound":"door_click.ogg","door_type":"single","lockpickable":false,"default_state":false,"distance":2},{"id":84,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Bolingbroke Prison","door_data":[{"model_hash":913760512,"unique_id":"Af_HicneWg67I1ujz4TXK","text_dimensions":-1.2202151150268,"door_coords":{"x":1776.951416015625,"y":2486.29345703125,"z":49.84635925292969}}],"door_name":"Cell 27","secret":false,"state":false,"camera":true,"door_sound":"door_click.ogg","door_type":"single","lockpickable":false,"default_state":false,"distance":2},{"id":85,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Bolingbroke Prison","door_data":[{"model_hash":539686410,"unique_id":"bXo618ukgXjOAdj-jyKDL","text_dimensions":-1.41224204469472,"door_coords":{"x":1837.911865234375,"y":2590.256103515625,"z":46.19788360595703}}],"door_name":"Processing 1","secret":false,"state":false,"camera":false,"door_sound":"door_metal.ogg","door_type":"single","lockpickable":false,"default_state":false,"distance":2},{"id":86,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Bolingbroke Prison","door_data":[{"model_hash":-684929024,"unique_id":"P4Y6ksHM_oKe1q1K9FkoI","text_dimensions":-1.28710997104644,"door_coords":{"x":1837.743408203125,"y":2592.1630859375,"z":46.03961181640625}}],"door_name":"Processing 2","secret":false,"state":true,"camera":false,"door_sound":"door_click.ogg","door_type":"single","lockpickable":false,"default_state":true,"distance":2}]} \ No newline at end of file diff --git a/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/bowling_alley.json b/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/bowling_alley.json new file mode 100644 index 000000000..d8cf93409 --- /dev/null +++ b/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/bowling_alley.json @@ -0,0 +1 @@ +{"name":"bowling_alley.json","imported":false,"data":[{"id":1,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Bowling Alley","door_data":[{"model_hash":-2023754432,"unique_id":"EpeyXZLHbfR884K9td4n_","text_dimensions":1.3113248348236,"door_coords":{"x":755.5689086914063,"y":-782.7789916992188,"z":26.48348808288574}}],"door_name":"Toilet","camera":false,"state":false,"secret":false,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"default_state":false,"distance":2},{"id":2,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Bowling Alley","door_data":[{"model_hash":-626684119,"unique_id":"PuMdZljPwgOGlvXXh2lnv","text_dimensions":1.30132499436149,"door_coords":{"x":755.5689086914063,"y":-780.9235229492188,"z":26.48348808288574}}],"door_name":"Reception","camera":false,"state":false,"secret":false,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"default_state":false,"distance":2},{"id":3,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Bowling Alley","door_data":[{"model_hash":-626684119,"unique_id":"M2Uuxl7cZFu_IpVNPOWH_","text_dimensions":1.30132499436149,"door_coords":{"x":758.52197265625,"y":-777.251953125,"z":26.64883422851562}}],"door_name":"Entrance","camera":true,"state":false,"secret":false,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"default_state":false,"distance":2},{"id":4,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Bowling Alley","door_data":[{"model_hash":-626684119,"unique_id":"pwDqchUqmNOonyod_PcSS","text_dimensions":1.30132499436149,"door_coords":{"x":755.5689086914063,"y":-770.7398071289063,"z":26.48348808288574}}],"door_name":"Office","camera":false,"state":false,"secret":false,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"default_state":false,"distance":2}]} \ No newline at end of file diff --git a/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/davis_pd.json b/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/davis_pd.json new file mode 100644 index 000000000..ece058cad --- /dev/null +++ b/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/davis_pd.json @@ -0,0 +1 @@ +{"name":"davis_pd.json","imported":false,"data":[{"id":1,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Davis PD","door_data":[{"model_hash":618295057,"unique_id":"ZMdj4vg6gOYc0WVM3-2lf","text_dimensions":1.38004998117685,"door_coords":{"x":381.7760009765625,"y":-1594.2769775390626,"z":30.2012825012207}},{"model_hash":1670919150,"unique_id":"sLo9zUhfXj7aFZW4i7BKE","text_dimensions":-1.38004998117685,"door_coords":{"x":379.7842102050781,"y":-1592.605712890625,"z":30.2012825012207}}],"door_name":"Entrance","state":false,"secret":false,"door_sound":"_notification.ogg","door_type":"double","lockpickable":false,"default_state":true,"distance":2},{"id":2,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Davis PD","door_data":[{"model_hash":-425870000,"unique_id":"Lr_Mt8wNeonZGvO3F3jIm","text_dimensions":-1.28804991021752,"door_coords":{"x":382.8243103027344,"y":-1599.0250244140626,"z":30.1445083618164}}],"door_name":"Doorman","state":true,"secret":false,"door_sound":"_notification.ogg","door_type":"single","lockpickable":false,"default_state":true,"distance":2},{"id":3,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Davis PD","door_data":[{"model_hash":-1335406364,"unique_id":"hGsWpGI10M1e0p301mppT","text_dimensions":-1.28804996982216,"door_coords":{"x":363.8883666992188,"y":-1595.471435546875,"z":25.54544067382812}}],"door_name":"Lockers","state":true,"secret":false,"door_sound":"_notification.ogg","door_type":"single","lockpickable":false,"default_state":true,"distance":2},{"id":4,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Davis PD","door_data":[{"model_hash":-1335406364,"unique_id":"kuUG5i67RYFwKdNzdoiIr","text_dimensions":-1.28804996982216,"door_coords":{"x":367.1189880371094,"y":-1601.0821533203126,"z":25.54451179504394}}],"door_name":"Armory","state":true,"secret":false,"door_sound":"_notification.ogg","door_type":"single","lockpickable":false,"default_state":true,"distance":2},{"id":5,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Davis PD","door_data":[{"model_hash":-425870000,"unique_id":"LLsWuIWF9mgzXSDlqnlxG","text_dimensions":-1.28804991021752,"door_coords":{"x":367.8590698242188,"y":-1594.3126220703126,"z":25.54551315307617}},{"model_hash":-425870000,"unique_id":"E-8ylCBWU1Y8ARLWIWVLi","text_dimensions":-1.28804991021752,"door_coords":{"x":369.7023010253906,"y":-1595.859375,"z":25.54551315307617}}],"door_name":"Autopsy","state":true,"secret":false,"door_sound":"_notification.ogg","door_type":"double","lockpickable":false,"default_state":true,"distance":2},{"id":6,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Davis PD","door_data":[{"model_hash":-1335406364,"unique_id":"aTbjMDhwjMXImCdDx8iE7","text_dimensions":-1.28804996982216,"door_coords":{"x":379.1722717285156,"y":-1603.8255615234376,"z":25.54451179504394}}],"door_name":"Mugshot","state":false,"secret":false,"door_sound":"_notification.ogg","door_type":"single","lockpickable":false,"default_state":true,"distance":2},{"id":7,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Davis PD","door_data":[{"model_hash":-1335406364,"unique_id":"qPKGKx_534UDSg16b4b9L","text_dimensions":-1.28804996982216,"door_coords":{"x":375.5429992675781,"y":-1608.1507568359376,"z":25.54451179504394}}],"door_name":"Observation","state":true,"secret":false,"door_sound":"_notification.ogg","door_type":"single","lockpickable":false,"default_state":true,"distance":2},{"id":8,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Davis PD","door_data":[{"model_hash":-728950481,"unique_id":"BzEnl5TnXJFnaCBLNwDiL","text_dimensions":-1.28804991021752,"door_coords":{"x":371.9581604003906,"y":-1605.1427001953126,"z":25.54544067382812}}],"door_name":"Interrogation","state":false,"secret":false,"door_sound":"_notification.ogg","door_type":"single","lockpickable":false,"default_state":true,"distance":2},{"id":9,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Davis PD","door_data":[{"model_hash":-674638964,"unique_id":"MBKcQzP7ILbA-q13IbMjV","text_dimensions":1.55046490579843,"door_coords":{"x":375.077880859375,"y":-1598.4345703125,"z":25.34305763244629}}],"door_name":"Women Cells","state":true,"secret":false,"door_sound":"_notification.ogg","door_type":"single","lockpickable":false,"default_state":true,"distance":2},{"id":10,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Davis PD","door_data":[{"model_hash":-1335406364,"unique_id":"3yuPHqGMd4R9cWsC7SGn2","text_dimensions":-1.28804996982216,"door_coords":{"x":384.4285278320313,"y":-1601.959716796875,"z":30.1445083618164}}],"door_name":"Downstairs Left","state":false,"secret":false,"door_sound":"_notification.ogg","door_type":"single","lockpickable":false,"default_state":true,"distance":2},{"id":11,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Davis PD","door_data":[{"model_hash":-1335406364,"unique_id":"9uS6TSlSA3u3VLwKQKCEC","text_dimensions":-1.28804996982216,"door_coords":{"x":374.6359558105469,"y":-1613.6300048828126,"z":30.1445083618164}}],"door_name":"Downstairs Right","state":false,"secret":false,"door_sound":"_notification.ogg","door_type":"single","lockpickable":false,"default_state":true,"distance":2},{"id":12,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Davis PD","door_data":[{"model_hash":1670919150,"unique_id":"ezThVr_GqBHrLe-4y9qg3","text_dimensions":-1.38004998117685,"door_coords":{"x":371.511962890625,"y":-1615.8707275390626,"z":30.2012825012207}},{"model_hash":618295057,"unique_id":"02bFjzqCYUIyJuHlsY8KF","text_dimensions":1.38004998117685,"door_coords":{"x":369.5201721191406,"y":-1614.1993408203126,"z":30.2012825012207}}],"door_name":"Side Entrance","state":true,"secret":false,"door_sound":"_notification.ogg","door_type":"double","lockpickable":false,"default_state":true,"distance":2},{"id":13,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Davis PD","door_data":[{"model_hash":-674638964,"unique_id":"9IzJKjV8CN2t4x9ySRF-S","text_dimensions":1.55046490579843,"door_coords":{"x":369.0669250488281,"y":-1605.6873779296876,"z":29.9421272277832}}],"door_name":"Women Upper Cell","state":true,"secret":false,"door_sound":"_notification.ogg","door_type":"single","lockpickable":false,"default_state":true,"distance":2},{"id":14,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Davis PD","door_data":[{"model_hash":-425870000,"unique_id":"TDzBkf3GAlBQdHN1RG9PG","text_dimensions":-1.28804991021752,"door_coords":{"x":363.2424011230469,"y":-1589.2093505859376,"z":31.14456939697265}}],"door_name":"Office Right","state":true,"secret":false,"door_sound":"_notification.ogg","door_type":"single","lockpickable":false,"default_state":true,"distance":2},{"id":15,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Davis PD","door_data":[{"model_hash":-425870000,"unique_id":"yT7zxXMQF17K3bFzV4_ua","text_dimensions":-1.28804991021752,"door_coords":{"x":361.6097106933594,"y":-1594.3302001953126,"z":31.14456939697265}},{"model_hash":-425870000,"unique_id":"qWYUf6xkJUr7mB2FqsWP9","text_dimensions":-1.28804991021752,"door_coords":{"x":363.1488952636719,"y":-1592.495849609375,"z":31.14456939697265}}],"door_name":"Captain","state":true,"secret":false,"door_sound":"_notification.ogg","door_type":"double","lockpickable":false,"default_state":true,"distance":2},{"id":16,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Davis PD","door_data":[{"model_hash":-425870000,"unique_id":"wdg_Tm2nFP8OY1SOCZOwg","text_dimensions":-1.28804991021752,"door_coords":{"x":358.3826293945313,"y":-1595.0009765625,"z":31.14456939697265}}],"door_name":"Office Left","state":true,"secret":false,"door_sound":"_notification.ogg","door_type":"single","lockpickable":false,"default_state":true,"distance":2},{"id":17,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Davis PD","door_data":[{"model_hash":1286535678,"unique_id":"yK5PdYai5oqQ4vuWcv73h","text_dimensions":7.56022737920284,"door_coords":{"x":392.1278991699219,"y":-1602.5550537109376,"z":28.33998870849609}}],"door_name":"Gate","state":false,"secret":false,"door_sound":"_notification.ogg","door_type":"gates","lockpickable":false,"default_state":true,"distance":10},{"id":18,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Davis PD","door_data":[{"model_hash":-1156020871,"unique_id":"6aFD-LDXfC9k5UaKX-09n","text_dimensions":1.71312944777309,"door_coords":{"x":391.8601684570313,"y":-1636.0701904296876,"z":29.97437667846679}}],"door_name":"Impound lot","state":true,"secret":false,"door_sound":"_notification.ogg","door_type":"single","lockpickable":false,"default_state":true,"distance":2}]} \ No newline at end of file diff --git a/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/families.json b/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/families.json new file mode 100644 index 000000000..4a44a0b67 --- /dev/null +++ b/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/families.json @@ -0,0 +1 @@ +{"name":"families.json","imported":false,"data":[{"id":1,"perms":{"job":[{"name":"families","grade":0}],"identifier":[]},"location_group":"Families","door_data":[{"unique_id":"rJryibIZVbn0OkZHxbeFj","model_hash":1381046002,"text_dimensions":-1.30003572907298,"door_coords":{"x":-152.02444458007813,"y":-1622.647705078125,"z":33.8377571105957}}],"door_name":"Entrance","secret":false,"state":true,"default_state":true,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"camera":true,"distance":2},{"id":2,"perms":{"job":[{"name":"families","grade":0}],"identifier":[]},"location_group":"Families","door_data":[{"unique_id":"qZoYZIuZsdvzemtjmj233","model_hash":1543383628,"text_dimensions":-1.30003572907298,"door_coords":{"x":-153.03646850585938,"y":-1618.813232421875,"z":33.8377571105957}}],"door_name":"Toilet","secret":false,"state":false,"default_state":false,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"camera":false,"distance":2},{"id":3,"perms":{"job":[{"name":"families","grade":0}],"identifier":[]},"location_group":"Families","door_data":[{"unique_id":"9A9A7i4A52cmX1y9Aw8hD","model_hash":1543383628,"text_dimensions":-1.30003572907298,"door_coords":{"x":-159.6214141845703,"y":-1614.5133056640626,"z":33.83805084228515}}],"door_name":"Planning Room","secret":false,"state":true,"default_state":true,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"camera":true,"distance":2},{"id":4,"perms":{"job":[{"name":"families","grade":0}],"identifier":[]},"location_group":"Families","door_data":[{"unique_id":"miroZXfWcL2AlW7rkAuDG","model_hash":1543383628,"text_dimensions":-1.30003572907298,"door_coords":{"x":-160.897705078125,"y":-1615.5655517578126,"z":33.83805084228515}}],"door_name":"Office","secret":false,"state":true,"default_state":true,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"camera":true,"distance":2}]} \ No newline at end of file diff --git a/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/fire_station.json b/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/fire_station.json new file mode 100644 index 000000000..03cadcb3f --- /dev/null +++ b/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/fire_station.json @@ -0,0 +1 @@ +{"name":"fire_station.json","imported":false,"data":[{"id":1,"perms":{"job":[{"grade":0,"name":"lsfd"},{"grade":0,"name":"fire"}],"identifier":[]},"location_group":"Davis Fire Station","door_data":[{"model_hash":1934132135,"unique_id":"4-bOHLb4uZq84_SoZTdqJ","text_dimensions":0,"door_coords":{"x":215.24916076660157,"y":-1646.30615234375,"z":31.07854843139648}}],"door_name":"Garage Door 1","default_state":true,"state":true,"camera":true,"door_sound":"door_switch.ogg","door_type":"garage","lockpickable":false,"secret":false,"distance":10},{"id":2,"perms":{"job":[{"grade":0,"name":"lsfd"},{"grade":0,"name":"fire"}],"identifier":[]},"location_group":"Davis Fire Station","door_data":[{"model_hash":1934132135,"unique_id":"_JArIytAlj34ggB8awAO6","text_dimensions":0,"door_coords":{"x":211.3808135986328,"y":-1644.57666015625,"z":32.726806640625}}],"door_name":"Garage Door 2","default_state":true,"state":true,"camera":true,"door_sound":"door_switch.ogg","door_type":"garage","lockpickable":false,"secret":false,"distance":10},{"id":3,"perms":{"job":[{"grade":0,"name":"lsfd"},{"grade":0,"name":"fire"}],"identifier":[]},"location_group":"Davis Fire Station","door_data":[{"model_hash":1934132135,"unique_id":"_f7R07X2CllHTSZ6Y3WD3","text_dimensions":0,"door_coords":{"x":208.9705810546875,"y":-1641.097900390625,"z":30.77299118041992}}],"door_name":"Garage Door 3","default_state":true,"state":true,"camera":true,"door_sound":"door_switch.ogg","door_type":"garage","lockpickable":false,"secret":false,"distance":10},{"id":4,"perms":{"job":[{"grade":0,"name":"fire"},{"grade":0,"name":"lsfd"}],"identifier":[]},"location_group":"Davis Fire Station","door_data":[{"model_hash":-585526495,"unique_id":"YvC2Y5Hd5EjIXChBEFI1m","text_dimensions":1.3471599817276,"door_coords":{"x":199.2920379638672,"y":-1634.4873046875,"z":29.02260017395019}}],"door_name":"Entrance","default_state":true,"state":true,"camera":true,"door_sound":"door_switch.ogg","door_type":"single","lockpickable":false,"secret":false,"distance":2},{"id":5,"perms":{"job":[{"grade":0,"name":"fire"},{"grade":0,"name":"lsfd"}],"identifier":[]},"location_group":"Davis Fire Station","door_data":[{"model_hash":-903733315,"unique_id":"uPGndC4ownZt6Wz0X6cr6","text_dimensions":1.30580970467042,"door_coords":{"x":201.8855438232422,"y":-1643.5914306640626,"z":28.79732513427734}}],"door_name":"Truck Area","default_state":true,"state":true,"camera":true,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"secret":false,"distance":2},{"id":6,"perms":{"job":[{"grade":0,"name":"fire"},{"grade":0,"name":"lsfd"}],"identifier":[]},"location_group":"Davis Fire Station","door_data":[{"model_hash":-903733315,"unique_id":"HDKBzntSQ3ileUlDfBA9k","text_dimensions":1.30580970467042,"door_coords":{"x":213.99725341796876,"y":-1653.7640380859376,"z":28.79732513427734}}],"door_name":"Kitchen 1","default_state":true,"state":true,"camera":true,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"secret":false,"distance":2},{"id":7,"perms":{"job":[{"grade":0,"name":"fire"},{"grade":0,"name":"lsfd"}],"identifier":[]},"location_group":"Davis Fire Station","door_data":[{"model_hash":-903733315,"unique_id":"ufqCYPAGkixHgosj_4yLZ","text_dimensions":1.30580970467042,"door_coords":{"x":219.44656372070313,"y":-1660.234619140625,"z":28.79732513427734}}],"door_name":"Kitchen 2","default_state":true,"state":true,"camera":true,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"secret":false,"distance":2},{"id":8,"perms":{"job":[{"grade":0,"name":"fire"},{"grade":0,"name":"lsfd"}],"identifier":[]},"location_group":"Davis Fire Station","door_data":[{"model_hash":-903733315,"unique_id":"SsVQ8EOJODE4drG8Wz6bF","text_dimensions":1.30580970467042,"door_coords":{"x":215.77471923828129,"y":-1664.6104736328126,"z":28.79732513427734}}],"door_name":"Dorm","default_state":true,"state":true,"camera":true,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"secret":false,"distance":2},{"id":9,"perms":{"job":[{"grade":0,"name":"fire"},{"grade":0,"name":"lsfd"}],"identifier":[]},"location_group":"Davis Fire Station","door_data":[{"model_hash":-903733315,"unique_id":"fqz-ZQ8OWruBX7TR_sepu","text_dimensions":1.30580970467042,"door_coords":{"x":212.9152069091797,"y":-1665.985595703125,"z":28.79732513427734}}],"door_name":"Toilet 1","default_state":false,"state":false,"camera":false,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"secret":false,"distance":2},{"id":10,"perms":{"job":[{"grade":0,"name":"fire"},{"grade":0,"name":"lsfd"}],"identifier":[]},"location_group":"Davis Fire Station","door_data":[{"model_hash":-903733315,"unique_id":"vVSZAre6TJS_vPFC8rDOn","text_dimensions":1.30580970467042,"door_coords":{"x":208.41867065429688,"y":-1662.2125244140626,"z":28.79732513427734}}],"door_name":"Toilet 2","default_state":false,"state":false,"camera":false,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"secret":false,"distance":2},{"id":11,"perms":{"job":[{"grade":0,"name":"fire"},{"grade":0,"name":"lsfd"}],"identifier":[]},"location_group":"Davis Fire Station","door_data":[{"model_hash":-1056920428,"unique_id":"g71jdmxquOLREP8IycyV0","text_dimensions":-1.03425157753875,"door_coords":{"x":202.52650451660157,"y":-1653.49365234375,"z":29.95660018920898}},{"model_hash":-1056920428,"unique_id":"JE5AFe6xNrJ2AsUr-n2zM","text_dimensions":-1.03425157753875,"door_coords":{"x":204.11105346679688,"y":-1654.8232421875,"z":29.95660018920898}}],"door_name":"Fun Room","default_state":true,"state":true,"camera":true,"door_sound":"door_metal.ogg","door_type":"double","lockpickable":false,"secret":false,"distance":2},{"id":12,"perms":{"job":[{"grade":0,"name":"fire"},{"grade":0,"name":"lsfd"}],"identifier":[]},"location_group":"Davis Fire Station","door_data":[{"model_hash":-903733315,"unique_id":"lx9H3323Aj7VP_bI6Axh5","text_dimensions":1.30580970467042,"door_coords":{"x":207.65188598632813,"y":-1660.5499267578126,"z":28.79732513427734}}],"door_name":"Hallway","default_state":true,"state":true,"camera":true,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"secret":false,"distance":2},{"id":13,"perms":{"job":[{"grade":0,"name":"fire"},{"grade":0,"name":"lsfd"}],"identifier":[]},"location_group":"Davis Fire Station","door_data":[{"model_hash":-903733315,"unique_id":"zX_RCFgRtEwDmFsv23kmm","text_dimensions":1.30580970467042,"door_coords":{"x":200.4056854248047,"y":-1645.355224609375,"z":28.79732513427734}}],"door_name":"Office","default_state":true,"state":true,"camera":true,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"secret":false,"distance":2},{"id":14,"perms":{"job":[{"grade":0,"name":"fire"},{"grade":0,"name":"lsfd"}],"identifier":[]},"location_group":"El Burro Fire Station","door_data":[{"model_hash":1934132135,"unique_id":"fqDJQi9teGICUZnGn2bmx","text_dimensions":0,"door_coords":{"x":1204.82373046875,"y":-1464.642333984375,"z":37.78242111206055}}],"door_name":"Garage Door 1","default_state":true,"state":true,"camera":true,"door_sound":"door_switch.ogg","door_type":"garage","lockpickable":false,"secret":false,"distance":10},{"id":15,"perms":{"job":[{"grade":0,"name":"fire"},{"grade":0,"name":"lsfd"}],"identifier":[]},"location_group":"El Burro Fire Station","door_data":[{"model_hash":1934132135,"unique_id":"F7DZXmgLYlZaCQEdS71_i","text_dimensions":0,"door_coords":{"x":1200.748779296875,"y":-1463.509521484375,"z":35.91725158691406}}],"door_name":"Garage Door 2","default_state":true,"state":true,"camera":true,"door_sound":"door_switch.ogg","door_type":"garage","lockpickable":false,"secret":false,"distance":10},{"id":16,"perms":{"job":[{"grade":0,"name":"fire"},{"grade":0,"name":"lsfd"}],"identifier":[]},"location_group":"El Burro Fire Station","door_data":[{"model_hash":1934132135,"unique_id":"_mpjWLIMn6_z3Atf9RUYG","text_dimensions":0,"door_coords":{"x":1196.666259765625,"y":-1463.5185546875,"z":35.87374877929687}}],"door_name":"Garage Door 3","default_state":true,"state":true,"camera":true,"door_sound":"door_switch.ogg","door_type":"garage","lockpickable":false,"secret":false,"distance":10},{"id":17,"perms":{"job":[{"grade":0,"name":"lsfd"},{"grade":0,"name":"fire"}],"identifier":[]},"location_group":"El Burro Fire Station","door_data":[{"model_hash":-585526495,"unique_id":"b2WP9OYuSGFU5vthf1cSy","text_dimensions":1.3471599817276,"door_coords":{"x":1185.0029296875,"y":-1464.6861572265626,"z":34.07891082763672}}],"door_name":"Entrance","default_state":true,"state":true,"camera":true,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"secret":false,"distance":2},{"id":18,"perms":{"job":[{"grade":0,"name":"fire"},{"grade":0,"name":"lsfd"}],"identifier":[]},"location_group":"El Burro Fire Station","door_data":[{"model_hash":-903733315,"unique_id":"hDU6XygGlIb-AVKFpwRlS","text_dimensions":1.30580970467042,"door_coords":{"x":1192.8416748046876,"y":-1469.9932861328126,"z":33.85363388061523}}],"door_name":"Truck Area","default_state":true,"state":true,"camera":true,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"secret":false,"distance":2},{"id":19,"perms":{"job":[{"grade":0,"name":"fire"},{"grade":0,"name":"lsfd"}],"identifier":[]},"location_group":"El Burro Fire Station","door_data":[{"model_hash":-903733315,"unique_id":"CUs4UMOK7SwNX1dARCjGM","text_dimensions":1.30580970467042,"door_coords":{"x":1192.841796875,"y":-1472.295654296875,"z":33.85363388061523}}],"door_name":"Office","default_state":true,"state":true,"camera":true,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"secret":false,"distance":2},{"id":20,"perms":{"job":[{"grade":0,"name":"fire"},{"grade":0,"name":"lsfd"}],"identifier":[]},"location_group":"El Burro Fire Station","door_data":[{"model_hash":-1056920428,"unique_id":"oLPOphgL0-MRODVFiIYzp","text_dimensions":-1.03425157753875,"door_coords":{"x":1201.76611328125,"y":-1477.1668701171876,"z":35.01290893554687}},{"model_hash":-1056920428,"unique_id":"E_i6Y476QOHTv7j-RxXsp","text_dimensions":-1.03425157753875,"door_coords":{"x":1199.6976318359376,"y":-1477.1668701171876,"z":35.01290893554687}}],"door_name":"Fun Area","default_state":true,"state":true,"camera":true,"door_sound":"door_metal.ogg","door_type":"double","lockpickable":false,"secret":false,"distance":2},{"id":21,"perms":{"job":[{"grade":0,"name":"fire"},{"grade":0,"name":"lsfd"}],"identifier":[]},"location_group":"El Burro Fire Station","door_data":[{"model_hash":-903733315,"unique_id":"LM67IfzAmQmYAAlDtEBjX","text_dimensions":1.30580970467042,"door_coords":{"x":1208.6585693359376,"y":-1470.000732421875,"z":33.85363388061523}}],"door_name":"Kitchen 1","default_state":true,"state":true,"camera":true,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"secret":false,"distance":2},{"id":22,"perms":{"job":[{"grade":0,"name":"fire"},{"grade":0,"name":"lsfd"}],"identifier":[]},"location_group":"El Burro Fire Station","door_data":[{"model_hash":-903733315,"unique_id":"OoLLn3e9-5v0jZuE-IADx","text_dimensions":1.30580970467042,"door_coords":{"x":1216.9921875,"y":-1471.4547119140626,"z":33.85363388061523}}],"door_name":"Kitchen 2","default_state":true,"state":true,"camera":true,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"secret":false,"distance":2},{"id":23,"perms":{"job":[{"grade":0,"name":"fire"},{"grade":0,"name":"lsfd"}],"identifier":[]},"location_group":"El Burro Fire Station","door_data":[{"model_hash":-903733315,"unique_id":"8J_RQC4fkXONd_MRSoC3b","text_dimensions":1.30580970467042,"door_coords":{"x":1216.9921875,"y":-1477.1669921875,"z":33.85363388061523}}],"door_name":"Dorm","default_state":true,"state":true,"camera":true,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"secret":false,"distance":2},{"id":24,"perms":{"job":[{"grade":0,"name":"fire"},{"grade":0,"name":"lsfd"}],"identifier":[]},"location_group":"El Burro Fire Station","door_data":[{"model_hash":-903733315,"unique_id":"pIer48woeqUCcBvSz0OEE","text_dimensions":1.30580970467042,"door_coords":{"x":1215.685546875,"y":-1480.0584716796876,"z":33.85363388061523}}],"door_name":"Toilet 1","default_state":false,"state":false,"camera":false,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"secret":false,"distance":2},{"id":25,"perms":{"job":[{"grade":0,"name":"fire"},{"grade":0,"name":"lsfd"}],"identifier":[]},"location_group":"El Burro Fire Station","door_data":[{"model_hash":-903733315,"unique_id":"AfKF8lqCm8h8zu0D2wTua","text_dimensions":1.30580970467042,"door_coords":{"x":1209.815673828125,"y":-1480.0584716796876,"z":33.85363388061523}}],"door_name":"Toilet 2","default_state":false,"state":false,"camera":false,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"secret":false,"distance":2},{"id":26,"perms":{"job":[{"grade":0,"name":"fire"},{"grade":0,"name":"lsfd"}],"identifier":[]},"location_group":"El Burro Fire Station","door_data":[{"model_hash":-903733315,"unique_id":"ejkQ1DlKWwyS7bZuzM75d","text_dimensions":1.30580970467042,"door_coords":{"x":1211.134521484375,"y":-1477.1669921875,"z":33.85363388061523}}],"door_name":"Lockers 1","default_state":true,"state":true,"camera":false,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"secret":false,"distance":2},{"id":27,"perms":{"job":[{"grade":0,"name":"fire"},{"grade":0,"name":"lsfd"}],"identifier":[]},"location_group":"El Burro Fire Station","door_data":[{"model_hash":-903733315,"unique_id":"GgySWIZGgNefft_l5dLd8","text_dimensions":1.30580970467042,"door_coords":{"x":1208.6591796875,"y":-1473.365234375,"z":33.85363388061523}}],"door_name":"Lockers 2","default_state":true,"state":true,"camera":false,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"secret":false,"distance":2},{"id":28,"perms":{"job":[{"grade":0,"name":"fire"},{"grade":0,"name":"lsfd"}],"identifier":[]},"location_group":"El Burro Fire Station","door_data":[{"model_hash":-903733315,"unique_id":"N3rFbQTmbr8Z40NnxE7ta","text_dimensions":1.30580970467042,"door_coords":{"x":1208.15966796875,"y":-1479.2777099609376,"z":33.85363388061523}}],"door_name":"Hallway","default_state":true,"state":true,"camera":false,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"secret":false,"distance":2},{"id":29,"perms":{"job":[{"grade":0,"name":"fire"},{"grade":0,"name":"lsfd"}],"identifier":[]},"location_group":"El Burro Fire Station","door_data":[{"model_hash":-903733315,"unique_id":"5I21nBEz68EUq2z1jSZkB","text_dimensions":1.30580970467042,"door_coords":{"x":211.2875213623047,"y":-1660.84521484375,"z":28.79732513427734}}],"door_name":"Lockers 1","default_state":true,"state":true,"camera":false,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"secret":false,"distance":2},{"id":30,"perms":{"job":[{"grade":0,"name":"fire"},{"grade":0,"name":"lsfd"}],"identifier":[]},"location_group":"Davis Fire Station","door_data":[{"model_hash":-903733315,"unique_id":"C3x_Zhv1GVPe4padqfBWZ","text_dimensions":1.30580970467042,"door_coords":{"x":211.8350830078125,"y":-1656.341796875,"z":28.79732513427734}}],"door_name":"Lockers 2","default_state":true,"state":true,"camera":false,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"secret":false,"distance":2}]} \ No newline at end of file diff --git a/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/harmony_repair.json b/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/harmony_repair.json new file mode 100644 index 000000000..f157d9272 --- /dev/null +++ b/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/harmony_repair.json @@ -0,0 +1 @@ +{"name":"harmony_repair.json","imported":false,"data":[{"id":1,"perms":{"job":[{"name":"mechanic","grade":0}],"identifier":[]},"location_group":"Harmony Repair","door_data":[{"unique_id":"OpFkFUYupwHE9JaWYDFrA","model_hash":-822900180,"text_dimensions":0,"door_coords":{"x":1182.3072509765626,"y":2644.164306640625,"z":40.50829315185547}}],"door_name":"Garage Door 1","secret":false,"state":true,"default_state":true,"door_sound":"door_switch.ogg","door_type":"garage","lockpickable":false,"camera":true,"distance":10},{"id":2,"perms":{"job":[{"name":"mechanic","grade":0}],"identifier":[]},"location_group":"Harmony Repair","door_data":[{"unique_id":"4-ob7fjNdViC-3KI5hs0M","model_hash":-822900180,"text_dimensions":0,"door_coords":{"x":1174.6546630859376,"y":2645.240478515625,"z":39.30941390991211}}],"door_name":"Garage Door 2","secret":false,"state":true,"default_state":true,"door_sound":"door_switch.ogg","door_type":"garage","lockpickable":false,"camera":true,"distance":10},{"id":3,"perms":{"job":[{"name":"mechanic","grade":0}],"identifier":[]},"location_group":"Harmony Repair","door_data":[{"unique_id":"1WkBfQU-QF9lE3txaXSYc","model_hash":1335311341,"text_dimensions":-1.30146599147701,"door_coords":{"x":1187.2027587890626,"y":2644.949951171875,"z":38.55176544189453}}],"door_name":"Entrance","secret":false,"state":true,"default_state":true,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"camera":true,"distance":2}]} \ No newline at end of file diff --git a/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/haters.json b/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/haters.json new file mode 100644 index 000000000..3be620284 --- /dev/null +++ b/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/haters.json @@ -0,0 +1 @@ +{"name":"haters.json","imported":false,"data":[{"id":1,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Haters","door_data":[{"model_hash":932235872,"unique_id":"2Jgch1j-Wdq0ECEeZVDFP","text_dimensions":1.17663345026812,"door_coords":{"x":-1118.5753173828126,"y":-1440.6566162109376,"z":4.28510618209838}}],"door_name":"Entrance","default_state":true,"state":false,"secret":false,"door_sound":"door_metal.ogg","door_type":"single","lockpickable":false,"camera":true,"distance":2},{"id":2,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Haters","door_data":[{"model_hash":396177650,"unique_id":"Zv8Gk70rzM3tJcfKTWpvX","text_dimensions":1.36893741931271,"door_coords":{"x":-1128.949462890625,"y":-1439.9857177734376,"z":4.29096794128418}}],"door_name":"Backrooms","default_state":true,"state":true,"secret":false,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"camera":true,"distance":2},{"id":3,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Haters","door_data":[{"model_hash":396177650,"unique_id":"hOW_M7-QieqdC6oEA-Ffb","text_dimensions":1.36893741931271,"door_coords":{"x":-1130.740966796875,"y":-1441.2430419921876,"z":4.28182792663574}}],"door_name":"Toilet","default_state":false,"state":false,"secret":false,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"camera":false,"distance":2},{"id":4,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Haters","door_data":[{"model_hash":779130623,"unique_id":"yQSRdk-sUkI8NsaerHJFv","text_dimensions":1.13503436889004,"door_coords":{"x":-1126.05419921875,"y":-1446.529541015625,"z":4.34477233886718}}],"door_name":"Side Exit","default_state":true,"state":true,"secret":false,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"camera":true,"distance":2}]} \ No newline at end of file diff --git a/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/hayes_auto.json b/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/hayes_auto.json new file mode 100644 index 000000000..66c616e1d --- /dev/null +++ b/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/hayes_auto.json @@ -0,0 +1 @@ +{"name":"hayes_auto.json","imported":false,"data":[{"id":1,"perms":{"job":[{"grade":0,"name":"mechanic"}],"identifier":[]},"location_group":"Hayes Auto","door_data":[{"unique_id":"nK5AJ4eUDt-_G83almCHB","model_hash":-634936098,"text_dimensions":1.30132499436149,"door_coords":{"x":-1434.1552734375,"y":-448.5860900878906,"z":36.05923461914062}}],"door_name":"Entrance","default_state":true,"state":true,"secret":false,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"camera":true,"distance":2},{"id":2,"perms":{"job":[{"grade":0,"name":"mechanic"}],"identifier":[]},"location_group":"Hayes Auto","door_data":[{"unique_id":"xbaSKVb-AGtC5eP88t0UW","model_hash":1715394473,"text_dimensions":6.50143504142761,"door_coords":{"x":-1427.3223876953126,"y":-444.1544189453125,"z":39.21000289916992}}],"door_name":"Garage Door 1","default_state":true,"state":true,"secret":false,"door_sound":"door_switch.ogg","door_type":"gates","lockpickable":false,"camera":true,"distance":10},{"id":3,"perms":{"job":[{"grade":0,"name":"mechanic"}],"identifier":[]},"location_group":"Hayes Auto","door_data":[{"unique_id":"UmkTz3t-QxxKqCwUIyHbI","model_hash":1715394473,"text_dimensions":6.50143504142761,"door_coords":{"x":-1421.115966796875,"y":-440.27490234375,"z":39.21000289916992}}],"door_name":"Garage Door 2","default_state":true,"state":true,"secret":false,"door_sound":"door_switch.ogg","door_type":"gates","lockpickable":false,"camera":true,"distance":10},{"id":4,"perms":{"job":[{"grade":0,"name":"mechanic"}],"identifier":[]},"location_group":"Hayes Auto","door_data":[{"unique_id":"kWzRXpUMKLWjq_7no-43O","model_hash":1715394473,"text_dimensions":6.50143504142761,"door_coords":{"x":-1414.868408203125,"y":-436.3688049316406,"z":39.21000289916992}}],"door_name":"Garage Door 3","default_state":true,"state":true,"secret":false,"door_sound":"door_switch.ogg","door_type":"gates","lockpickable":false,"camera":true,"distance":10},{"id":5,"perms":{"job":[{"grade":0,"name":"mechanic"}],"identifier":[]},"location_group":"Hayes Auto","door_data":[{"unique_id":"rfI6I4AHV3JWbG5CyCKwi","model_hash":1289778077,"text_dimensions":1.30132499436149,"door_coords":{"x":-1427.525390625,"y":-455.6804504394531,"z":36.05956268310547}}],"door_name":"Office","default_state":true,"state":true,"secret":false,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"camera":true,"distance":2}]} \ No newline at end of file diff --git a/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/import_garage.json b/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/import_garage.json new file mode 100644 index 000000000..1b1f4252f --- /dev/null +++ b/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/import_garage.json @@ -0,0 +1 @@ +{"name":"import_garage.json","imported":false,"data":[{"id":1,"perms":{"job":[{"name":"mechanic","grade":0}],"identifier":[]},"location_group":"Import Garage","door_data":[{"unique_id":"I8mbPMDWAThi_oQV8UKKF","model_hash":-983965772,"text_dimensions":0,"door_coords":{"x":945.8359375,"y":-984.0308227539064,"z":43.87417984008789}}],"door_name":"Entrance","default_state":true,"state":true,"camera":true,"door_sound":"door_switch.ogg","door_type":"garage","lockpickable":false,"secret":false,"distance":10},{"id":2,"perms":{"job":[{"name":"mechanic","grade":0}],"identifier":[]},"location_group":"Import Garage","door_data":[{"unique_id":"ZMtuzB8Bthhuj_DEmywyk","model_hash":1289778077,"text_dimensions":1.30132499436149,"door_coords":{"x":948.5287475585938,"y":-965.3519287109376,"z":39.64354705810547}}],"door_name":"Staff Room 1","default_state":true,"state":true,"camera":true,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"secret":false,"distance":2},{"id":3,"perms":{"job":[{"name":"mechanic","grade":0}],"identifier":[]},"location_group":"Import Garage","door_data":[{"unique_id":"MttAGQnX3B1CQ51Hrn5T1","model_hash":-626684119,"text_dimensions":1.30132499436149,"door_coords":{"x":955.358154296875,"y":-972.4451904296876,"z":39.64791870117187}}],"door_name":"Staff Room 2","default_state":true,"state":true,"camera":true,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"secret":false,"distance":2}]} \ No newline at end of file diff --git a/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/impound_lot.json b/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/impound_lot.json new file mode 100644 index 000000000..25b15751d --- /dev/null +++ b/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/impound_lot.json @@ -0,0 +1 @@ +{"name":"impound_lot.json","imported":false,"data":[{"id":1,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Impound Lot","door_data":[{"model_hash":1286535678,"unique_id":"IMzop4XrzKDXoGIZQShv6","text_dimensions":7.56022737920284,"door_coords":{"x":-171.64244079589845,"y":-1160.677001953125,"z":22.63815879821777}}],"door_name":"Entrance 1","secret":false,"state":true,"default_state":true,"door_sound":"door_switch.ogg","door_type":"gates","lockpickable":false,"camera":true,"distance":10},{"id":2,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Impound Lot","door_data":[{"model_hash":1286535678,"unique_id":"c88lc8D-thKX2whZ2pAWC","text_dimensions":7.56022737920284,"door_coords":{"x":-156.9066925048828,"y":-1169.6063232421876,"z":22.08901405334472}}],"door_name":"Parking","secret":false,"state":false,"default_state":false,"door_sound":"door_switch.ogg","door_type":"gates","lockpickable":false,"camera":true,"distance":10},{"id":3,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Impound Lot","door_data":[{"model_hash":1286535678,"unique_id":"r_Aek_-ZexqHPSNdN3u_H","text_dimensions":7.56022737920284,"door_coords":{"x":-226.14630126953129,"y":-1168.806396484375,"z":22.08235740661621}}],"door_name":"Parking 2","secret":false,"state":false,"default_state":false,"door_sound":"door_switch.ogg","door_type":"gates","lockpickable":false,"camera":true,"distance":10},{"id":4,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Impound Lot","door_data":[{"model_hash":1286535678,"unique_id":"8oqr6GGvP70FeD0uOq20v","text_dimensions":7.56022737920284,"door_coords":{"x":-229.66925048828129,"y":-1158.824951171875,"z":22.09461784362793}}],"door_name":"Entrance 2","secret":false,"state":true,"default_state":true,"door_sound":"door_regular.ogg","door_type":"gates","lockpickable":false,"camera":true,"distance":10},{"id":5,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Impound Lot","door_data":[{"model_hash":97297972,"unique_id":"qD5GTAL36dJK-sdvEKfST","text_dimensions":-1.30065524578094,"door_coords":{"x":-190.7104034423828,"y":-1160.464599609375,"z":23.82123947143554}}],"door_name":"Office Entrance","secret":false,"state":false,"default_state":true,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"camera":true,"distance":2},{"id":6,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Impound Lot","door_data":[{"model_hash":-952356348,"unique_id":"PZ2bhmVxy3bt2lJXt3VmF","text_dimensions":-1.30063444375991,"door_coords":{"x":-187.0614013671875,"y":-1162.3486328125,"z":23.82123947143554}}],"door_name":"Office","secret":false,"state":false,"default_state":true,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"camera":true,"distance":2},{"id":7,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Impound Lot","door_data":[{"model_hash":97297972,"unique_id":"rIo8Q9OVRfuykfJHUebzd","text_dimensions":-1.30065524578094,"door_coords":{"x":-189.6360015869141,"y":-1167.8836669921876,"z":23.82123947143554}}],"door_name":"Office Exit","secret":false,"state":true,"default_state":true,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"camera":true,"distance":2}]} \ No newline at end of file diff --git a/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/la_mesa_pd.json b/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/la_mesa_pd.json new file mode 100644 index 000000000..1bde4f494 --- /dev/null +++ b/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/la_mesa_pd.json @@ -0,0 +1 @@ +{"name":"la_mesa_pd.json","imported":false,"data":[{"id":1,"perms":{"job":[{"grade":0,"name":"police"}],"identifier":[]},"location_group":"La Mesa PD","door_data":[{"model_hash":277920071,"unique_id":"zdyaB_UJUI8EuzYQBCawm","text_dimensions":-1.30229246546514,"door_coords":{"x":827.9519653320313,"y":-1288.785888671875,"z":28.37116050720215}},{"model_hash":-34368499,"unique_id":"6SWvXUwsGuaqTmFc0m_R5","text_dimensions":-1.30229246546514,"door_coords":{"x":827.9519653320313,"y":-1291.386474609375,"z":28.37116050720215}}],"door_name":"Entrance","state":false,"default_state":true,"door_sound":"door_metal.ogg","door_type":"double","lockpickable":false,"secret":false,"distance":2},{"id":2,"perms":{"job":[{"grade":0,"name":"police"}],"identifier":[]},"location_group":"La Mesa PD","door_data":[{"model_hash":-147896569,"unique_id":"wuEL7u74Y0wVTePB0DJMg","text_dimensions":1.13935311837121,"door_coords":{"x":835.9443359375,"y":-1292.1925048828126,"z":27.78267097473144}}],"door_name":"Waiting room","state":false,"default_state":true,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"secret":false,"distance":2},{"id":3,"perms":{"job":[{"grade":0,"name":"police"}],"identifier":[]},"location_group":"La Mesa PD","door_data":[{"model_hash":-1011300766,"unique_id":"FfE8mL2wwSj7CEMDQZPDx","text_dimensions":-1.30229246546514,"door_coords":{"x":840.0883178710938,"y":-1280.998291015625,"z":28.37116050720215}}],"door_name":"Observation","state":true,"default_state":true,"door_sound":"door_metal.ogg","door_type":"single","lockpickable":false,"secret":false,"distance":2},{"id":4,"perms":{"job":[{"grade":0,"name":"police"}],"identifier":[]},"location_group":"La Mesa PD","door_data":[{"model_hash":-1983352576,"unique_id":"_sWUoureJ3qoohvITJycb","text_dimensions":-1.30229246546514,"door_coords":{"x":849.932373046875,"y":-1287.3460693359376,"z":28.37116050720215}},{"model_hash":2076628221,"unique_id":"Z3rsJSBAUdYrbxTbh3X8D","text_dimensions":-1.30229246546514,"door_coords":{"x":852.5330200195313,"y":-1287.3460693359376,"z":28.37116050720215}}],"door_name":"Meeting Room 1","state":true,"default_state":true,"door_sound":"door_metal.ogg","door_type":"double","lockpickable":false,"secret":false,"distance":2},{"id":5,"perms":{"job":[{"grade":0,"name":"police"}],"identifier":[]},"location_group":"La Mesa PD","door_data":[{"model_hash":-1983352576,"unique_id":"JspAclpp2H5AA8Kzgd6Gw","text_dimensions":-1.30229246546514,"door_coords":{"x":856.50732421875,"y":-1287.3460693359376,"z":28.37116050720215}},{"model_hash":2076628221,"unique_id":"pO3zimqQczTCkzWlNdqtc","text_dimensions":-1.30229246546514,"door_coords":{"x":859.1080322265625,"y":-1287.3460693359376,"z":28.37116050720215}}],"door_name":"Meeting Room 2","state":true,"default_state":true,"door_sound":"door_metal.ogg","door_type":"double","lockpickable":false,"secret":false,"distance":2},{"id":6,"perms":{"job":[{"grade":0,"name":"police"}],"identifier":[]},"location_group":"La Mesa PD","door_data":[{"model_hash":539497004,"unique_id":"2T-uUOHkmY_N6aalPDv4v","text_dimensions":-1.30229246546514,"door_coords":{"x":858.8648681640625,"y":-1291.3841552734376,"z":28.37110710144043}}],"door_name":"Archives","state":true,"default_state":true,"door_sound":"door_metal.ogg","door_type":"single","lockpickable":false,"secret":false,"distance":2},{"id":7,"perms":{"job":[{"grade":0,"name":"police"}],"identifier":[]},"location_group":"La Mesa PD","door_data":[{"model_hash":272264766,"unique_id":"O5ncSDRebOEExdQnHz7XM","text_dimensions":-1.30229246546514,"door_coords":{"x":846.3695068359375,"y":-1310.0399169921876,"z":28.37110710144043}}],"door_name":"Evidence","state":true,"default_state":true,"door_sound":"door_metal.ogg","door_type":"single","lockpickable":false,"secret":false,"distance":2},{"id":8,"perms":{"job":[{"grade":0,"name":"police"}],"identifier":[]},"location_group":"La Mesa PD","door_data":[{"model_hash":-1213101062,"unique_id":"eMoMaKrSmMvxfXzpIcu6E","text_dimensions":-1.30229246546514,"door_coords":{"x":854.781005859375,"y":-1310.0399169921876,"z":28.37110710144043}}],"door_name":"Lockers","state":true,"default_state":true,"door_sound":"door_metal.ogg","door_type":"single","lockpickable":false,"secret":false,"distance":2},{"id":9,"perms":{"job":[{"grade":0,"name":"police"}],"identifier":[]},"location_group":"La Mesa PD","door_data":[{"model_hash":-1213101062,"unique_id":"HCfke4YTUbthwmNkrH7fl","text_dimensions":-1.30229246546514,"door_coords":{"x":855.7420654296875,"y":-1314.6080322265626,"z":28.37110710144043}}],"door_name":"Lockers 2","state":true,"default_state":true,"door_sound":"door_metal.ogg","door_type":"single","lockpickable":false,"secret":false,"distance":2},{"id":10,"perms":{"job":[{"grade":0,"name":"police"}],"identifier":[]},"location_group":"La Mesa PD","door_data":[{"model_hash":-1339729155,"unique_id":"UkTpHJHXSqhVqROXPUHBb","text_dimensions":-1.30229246546514,"door_coords":{"x":859.0074462890625,"y":-1320.1241455078126,"z":28.37110710144043}}],"door_name":"Side Entrance","state":true,"default_state":true,"door_sound":"door_metal.ogg","door_type":"single","lockpickable":false,"secret":false,"distance":2},{"id":11,"perms":{"job":[{"grade":0,"name":"police"}],"identifier":[]},"location_group":"La Mesa PD","door_data":[{"model_hash":1491736897,"unique_id":"3lcAdHAfmqHE9a9QdGONG","text_dimensions":-1.30229246546514,"door_coords":{"x":837.260986328125,"y":-1309.5133056640626,"z":28.37110710144043}}],"door_name":"Break Room","state":true,"default_state":true,"door_sound":"door_metal.ogg","door_type":"single","lockpickable":false,"secret":false,"distance":2},{"id":12,"perms":{"job":[{"grade":0,"name":"police"}],"identifier":[]},"location_group":"La Mesa PD","door_data":[{"model_hash":1162089799,"unique_id":"5Ved7O5y63wyrO8VUe-rQ","text_dimensions":-1.30229246546514,"door_coords":{"x":834.28125,"y":-1295.9853515625,"z":28.37116050720215}}],"door_name":"Cell","state":true,"default_state":true,"door_sound":"door_metal.ogg","door_type":"single","lockpickable":false,"secret":false,"distance":2}]} \ No newline at end of file diff --git a/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/legion_ammu.json b/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/legion_ammu.json new file mode 100644 index 000000000..a0995bcc1 --- /dev/null +++ b/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/legion_ammu.json @@ -0,0 +1 @@ +{"name":"legion_ammu.json","imported":false,"data":[{"id":1,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Legion Ammunation","door_data":[{"unique_id":"nbHXWzKoSc4ApI78V6BJw","model_hash":97297972,"text_dimensions":-1.30065524578094,"door_coords":{"x":16.12786865234375,"y":-1114.605224609375,"z":29.94693565368652}},{"unique_id":"8yYae-C57bhKVjbGK7Ey_","model_hash":-8873588,"text_dimensions":-1.30482494086027,"door_coords":{"x":18.5720100402832,"y":-1115.4947509765626,"z":29.94693565368652}}],"door_name":"Entrance","camera":false,"state":true,"secret":false,"door_sound":"door_regular.ogg","door_type":"double","lockpickable":false,"default_state":true,"distance":2},{"id":2,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Legion Ammunation","door_data":[{"unique_id":"GfkAgH-8LefLBG7RmppsJ","model_hash":44561767,"text_dimensions":1.30005121603608,"door_coords":{"x":7.14657020568847,"y":-1101.1256103515626,"z":29.89739036560058}}],"door_name":"Firing Range 1st","camera":false,"state":false,"secret":false,"door_sound":"door_metal.ogg","door_type":"single","lockpickable":false,"default_state":true,"distance":2},{"id":3,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Legion Ammunation","door_data":[{"unique_id":"Y7COFgBk8mUyhUiu6y057","model_hash":44561767,"text_dimensions":1.30005121603608,"door_coords":{"x":8.04443550109863,"y":-1098.65869140625,"z":29.89739036560058}}],"door_name":"Firing Range 2nd","camera":false,"state":true,"secret":false,"door_sound":"door_metal.ogg","door_type":"single","lockpickable":false,"default_state":true,"distance":2},{"id":4,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Legion Ammunation","door_data":[{"unique_id":"uf-m_G0-qE-C7XtOA3cE5","model_hash":44561767,"text_dimensions":1.30005121603608,"door_coords":{"x":8.49085712432861,"y":-1094.3902587890626,"z":29.91464042663574}}],"door_name":"Firing Range to Targets","camera":false,"state":true,"secret":false,"door_sound":"door_metal.ogg","door_type":"single","lockpickable":false,"default_state":true,"distance":2}]} \ No newline at end of file diff --git a/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/lost_mc.json b/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/lost_mc.json new file mode 100644 index 000000000..a1b8a030b --- /dev/null +++ b/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/lost_mc.json @@ -0,0 +1 @@ +{"name":"lost_mc.json","imported":false,"data":[{"id":1,"perms":{"job":[{"grade":0,"name":"lost"}],"identifier":[]},"location_group":"Lost MC","door_data":[{"model_hash":-930593859,"unique_id":"vY12UnQm9UmfNX8_CYiLE","text_dimensions":-7.51867733895778,"door_coords":{"x":950.2341918945313,"y":-133.98422241210938,"z":73.57417297363281}}],"door_name":"Gate","camera":true,"state":true,"default_state":true,"door_sound":"door_switch.ogg","door_type":"gates","lockpickable":false,"secret":false,"distance":10},{"id":2,"perms":{"job":[{"grade":0,"name":"lost"}],"identifier":[]},"location_group":"Lost MC","door_data":[{"model_hash":-197537718,"unique_id":"mUrWbGuLhCnXIEfe8w46h","text_dimensions":0,"door_coords":{"x":982.3779907226564,"y":-125.3655014038086,"z":75.03974914550781}}],"door_name":"Workshop Garage Door","camera":true,"state":true,"default_state":true,"door_sound":"door_switch.ogg","door_type":"garage","lockpickable":false,"secret":false,"distance":10},{"id":3,"perms":{"job":[{"grade":0,"name":"lost"}],"identifier":[]},"location_group":"Lost MC","door_data":[{"model_hash":-710818483,"unique_id":"vNsJEgEaN0K67vk4bOy9t","text_dimensions":-1.30139195919036,"door_coords":{"x":990.8673095703124,"y":-132.8908233642578,"z":74.21125030517578}}],"door_name":"Workshop Office","camera":true,"state":true,"default_state":true,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"secret":false,"distance":2},{"id":4,"perms":{"job":[{"grade":0,"name":"lost"}],"identifier":[]},"location_group":"Lost MC","door_data":[{"model_hash":-710818483,"unique_id":"Nvygr7OQY2k7rLScOw7-f","text_dimensions":-1.30139195919036,"door_coords":{"x":994.5238647460938,"y":-119.90499877929688,"z":74.21125030517578}}],"door_name":"Workshop Meeting Room","camera":true,"state":true,"default_state":true,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"secret":false,"distance":2},{"id":5,"perms":{"job":[{"grade":0,"name":"lost"}],"identifier":[]},"location_group":"Lost MC","door_data":[{"model_hash":-710818483,"unique_id":"7xTc-yY7oK8Qsvu_Gie5H","text_dimensions":-1.30139195919036,"door_coords":{"x":1002.6436157226564,"y":-124.8202896118164,"z":74.20452117919922}}],"door_name":"Workshop Toilet","camera":false,"state":false,"default_state":false,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"secret":false,"distance":2},{"id":6,"perms":{"job":[{"grade":0,"name":"lost"}],"identifier":[]},"location_group":"Lost MC","door_data":[{"model_hash":190770132,"unique_id":"5G5vxQSnvYwCwfRxXFqic","text_dimensions":1.30132499436149,"door_coords":{"x":981.1505126953124,"y":-103.2552490234375,"z":74.99357604980469}}],"door_name":"Entrance","camera":true,"state":true,"default_state":true,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"secret":false,"distance":2},{"id":7,"perms":{"job":[{"grade":0,"name":"lost"}],"identifier":[]},"location_group":"Lost MC","door_data":[{"model_hash":747286790,"unique_id":"vrgwc4kX4gaKOABSX_Twf","text_dimensions":1.30153205513488,"door_coords":{"x":985.6103515625,"y":-95.16253662109377,"z":74.99793243408203}}],"door_name":"Whiteboard","camera":true,"state":true,"default_state":true,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"secret":false,"distance":2},{"id":8,"perms":{"job":[{"grade":0,"name":"lost"}],"identifier":[]},"location_group":"Lost MC","door_data":[{"model_hash":-822900180,"unique_id":"g78noRNge9zY1YlU-SVup","text_dimensions":0,"door_coords":{"x":968.0278930664064,"y":-111.32440948486328,"z":77.11673736572266}}],"door_name":"Workshop 2 Garage 1","camera":true,"state":true,"default_state":true,"door_sound":"door_switch.ogg","door_type":"garage","lockpickable":false,"secret":false,"distance":10},{"id":9,"perms":{"job":[{"grade":0,"name":"lost"}],"identifier":[]},"location_group":"Lost MC","door_data":[{"model_hash":-822900180,"unique_id":"6AqzfH8kDtWZwfGQT3EtQ","text_dimensions":0,"door_coords":{"x":962.43310546875,"y":-116.54352569580078,"z":77.11695861816406}}],"door_name":"Workshop 2 Garage 2","camera":true,"state":true,"default_state":true,"door_sound":"door_switch.ogg","door_type":"garage","lockpickable":false,"secret":false,"distance":10},{"id":10,"perms":{"job":[{"grade":0,"name":"lost"}],"identifier":[]},"location_group":"Lost MC","door_data":[{"model_hash":1335311341,"unique_id":"TeXn6MObu0NVVlwptBbwy","text_dimensions":-1.30146599147701,"door_coords":{"x":959.38232421875,"y":-120.45116424560549,"z":75.16157531738281}}],"door_name":"Workshop 2 Entrance","camera":true,"state":true,"default_state":true,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"secret":false,"distance":2}]} \ No newline at end of file diff --git a/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/ls_customs.json b/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/ls_customs.json new file mode 100644 index 000000000..0aa05bef7 --- /dev/null +++ b/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/ls_customs.json @@ -0,0 +1 @@ +{"name":"ls_customs.json","imported":false,"data":[{"id":1,"perms":{"job":[{"name":"mechanic","grade":0}],"identifier":[]},"location_group":"LS Customs","door_data":[{"unique_id":"AJCoaYAgCf3mvCazZOQvk","model_hash":270330101,"text_dimensions":0,"door_coords":{"x":724.2821655273438,"y":-1088.831298828125,"z":25.27529716491699}}],"door_name":"Garage Door","camera":true,"state":true,"secret":false,"door_sound":"door_switch.ogg","door_type":"garage","lockpickable":false,"default_state":true,"distance":10}]} \ No newline at end of file diff --git a/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/ltd_grove.json b/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/ltd_grove.json new file mode 100644 index 000000000..0e2473d1c --- /dev/null +++ b/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/ltd_grove.json @@ -0,0 +1 @@ +{"name":"ltd_grove.json","imported":false,"data":[{"id":1,"perms":{"job":[{"grade":0,"name":"police"}],"identifier":[]},"location_group":"LDT Grove","door_data":[{"model_hash":2065277225,"unique_id":"NlfRJlr2R8JqWL587PhTh","text_dimensions":-1.30149215459823,"door_coords":{"x":-51.96669387817383,"y":-1757.38671875,"z":29.57094001770019}},{"model_hash":-868672903,"unique_id":"-D9-R1d5ni3Mm0EuSTgS6","text_dimensions":-1.30149215459823,"door_coords":{"x":-53.96111297607422,"y":-1755.7171630859376,"z":29.57094001770019}}],"door_name":"Entrance","default_state":false,"state":false,"camera":false,"door_sound":"door_metal.ogg","door_type":"double","lockpickable":false,"secret":false,"distance":2}]} \ No newline at end of file diff --git a/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/marabunta.json b/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/marabunta.json new file mode 100644 index 000000000..f3d660f58 --- /dev/null +++ b/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/marabunta.json @@ -0,0 +1 @@ +{"name":"marabunta.json","imported":false,"data":[{"id":1,"perms":{"job":[{"name":"marabunta","grade":0}],"identifier":[]},"location_group":"Marabunta","door_data":[{"unique_id":"pbQ8yjBbs0QB1Uan4Ot-V","model_hash":-955445187,"text_dimensions":-1.30003573931753,"door_coords":{"x":1250.22265625,"y":-1583.8017578125,"z":54.73964691162109}}],"door_name":"Entrance","default_state":true,"state":true,"secret":false,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"camera":true,"distance":2},{"id":2,"perms":{"job":[{"name":"marabunta","grade":0}],"identifier":[]},"location_group":"Marabunta","door_data":[{"unique_id":"RJnNwu4-SGS8Ba5E0vGG9","model_hash":-296755518,"text_dimensions":-1.30003574956208,"door_coords":{"x":1249.2711181640626,"y":-1577.429931640625,"z":58.53964614868164}}],"door_name":"Office","default_state":true,"state":true,"secret":false,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"camera":true,"distance":2},{"id":3,"perms":{"job":[{"name":"marabunta","grade":0}],"identifier":[]},"location_group":"Marabunta","door_data":[{"unique_id":"7bmROe64ocJzFqdLCo4xc","model_hash":-296755518,"text_dimensions":-1.30003574956208,"door_coords":{"x":1250.4375,"y":-1575.6448974609376,"z":58.53964614868164}}],"door_name":"Planning Room","default_state":true,"state":true,"secret":false,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"camera":true,"distance":2},{"id":4,"perms":{"job":[{"name":"Toilet","grade":0}],"identifier":[]},"location_group":"Marabunta","door_data":[{"unique_id":"9LI4m0m3eVvJ5Qh2UNdzW","model_hash":-296755518,"text_dimensions":-1.30003574956208,"door_coords":{"x":1253.078857421875,"y":-1573.79541015625,"z":58.53964614868164}}],"door_name":"Toilet","default_state":false,"state":false,"secret":false,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"camera":false,"distance":2},{"id":5,"perms":{"job":[{"name":"marabunta","grade":0}],"identifier":[]},"location_group":"Marabunta","door_data":[{"unique_id":"C7OXrkTvor8Cq60sFKmA3","model_hash":-658590816,"text_dimensions":-1.30003573931753,"door_coords":{"x":1251.9793701171876,"y":-1569.2835693359376,"z":58.93437576293945}}],"door_name":"Upstairs Entrance","default_state":true,"state":true,"secret":false,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"camera":true,"distance":2},{"id":6,"perms":{"job":[{"name":"marabunta","grade":0}],"identifier":[]},"location_group":"Marabunta","door_data":[{"unique_id":"QIOU-q0oRr23Hkc0K2Lzs","model_hash":-296755518,"text_dimensions":-1.30003574956208,"door_coords":{"x":1257.9617919921876,"y":-1574.589599609375,"z":58.53964614868164}}],"door_name":"Staircase","default_state":false,"state":false,"secret":false,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"camera":true,"distance":2}]} \ No newline at end of file diff --git a/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/mba.json b/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/mba.json new file mode 100644 index 000000000..abd7d44af --- /dev/null +++ b/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/mba.json @@ -0,0 +1,5 @@ +{ + "imported": false, + "data": [{"location_group":"Maze Bank Arena","door_name":"Entrance Left","door_data":[{"model_hash":-1911661372,"text_dimensions":-1.20012360850768,"unique_id":"YQTjMbcN7tNvXCWqf4THh","door_coords":{"z":30.25301742553711,"x":-282.5875549316406,"y":-1924.78369140625}},{"model_hash":160224187,"text_dimensions":-1.20012363850769,"unique_id":"IcPFC9yPXBofPzn5VhTTu","door_coords":{"z":30.25301742553711,"x":-284.4262390136719,"y":-1923.2408447265626}}],"default_state":false,"id":1,"perms":{"identifier":[],"job":[{"name":"police","grade":0}]},"door_sound":"door_metal.ogg","state":false,"door_type":"double","secret":false,"distance":2,"lockpickable":false,"camera":true},{"location_group":"Maze Bank Arena","door_name":"Entrance Right","door_data":[{"model_hash":-1911661372,"text_dimensions":-1.20012360850768,"unique_id":"VUW46ibFoe5wMAXZoQ2xl","door_coords":{"z":30.25301742553711,"x":-286.56707763671877,"y":-1921.4444580078128}},{"model_hash":160224187,"text_dimensions":-1.20012363850769,"unique_id":"kvkFEca5qdS7CJ99JIeoo","door_coords":{"z":30.25301742553711,"x":-288.4057922363281,"y":-1919.901611328125}}],"default_state":false,"id":2,"perms":{"identifier":[],"job":[{"name":"police","grade":0}]},"door_sound":"door_metal.ogg","state":false,"door_type":"double","secret":false,"distance":2,"lockpickable":false,"camera":true},{"location_group":"Maze Bank Arena","door_name":"Side Right","door_data":[{"model_hash":1722387194,"text_dimensions":1.2001953125,"unique_id":"A8awpyjs0uvWgGDltvSKg","door_coords":{"z":30.25301742553711,"x":-302.5463562011719,"y":-1924.853271484375}},{"model_hash":1722387194,"text_dimensions":1.2001953125,"unique_id":"QV3BSh-CQKXE196lOUmzt","door_coords":{"z":30.25301742553711,"x":-301.0034484863281,"y":-1923.014404296875}}],"default_state":true,"id":3,"perms":{"identifier":[],"job":[{"name":"police","grade":0}]},"door_sound":"door_metal.ogg","state":true,"door_type":"double","secret":false,"distance":2,"lockpickable":false,"camera":true},{"location_group":"Maze Bank Arena","door_name":"Tickets Yellow","door_data":[{"model_hash":1722387194,"text_dimensions":1.2001953125,"unique_id":"ARNu1PBx8BLSYJ3L7V-tZ","door_coords":{"z":30.25301742553711,"x":-302.0007629394531,"y":-1920.2303466796876}}],"default_state":true,"id":4,"perms":{"identifier":[],"job":[{"name":"police","grade":0}]},"door_sound":"door_metal.ogg","state":true,"door_type":"single","secret":false,"distance":2,"lockpickable":false,"camera":true},{"location_group":"Maze Bank Arena","door_name":"VIP 2nd Floor 1","door_data":[{"model_hash":1722387194,"text_dimensions":1.2001953125,"unique_id":"Nvj3jYHxJovLiQdyPQElj","door_coords":{"z":34.15301895141601,"x":-307.4936218261719,"y":-1925.220703125}},{"model_hash":1722387194,"text_dimensions":1.2001953125,"unique_id":"ZQxQ3n1-PIJ7fzqruw1BQ","door_coords":{"z":34.15301895141601,"x":-309.3323974609375,"y":-1923.677734375}}],"default_state":true,"id":5,"perms":{"identifier":[],"job":[{"name":"police","grade":0}]},"door_sound":"door_metal.ogg","state":true,"door_type":"double","secret":false,"distance":2,"lockpickable":false,"camera":true},{"location_group":"Maze Bank Arena","door_name":"VIP 2nd Floor 2","door_data":[{"model_hash":1722387194,"text_dimensions":1.2001953125,"unique_id":"TwC06bMzt3ZW71QwH5jmP","door_coords":{"z":34.15301895141601,"x":-284.5105285644531,"y":-1944.5057373046876}},{"model_hash":1722387194,"text_dimensions":1.2001953125,"unique_id":"SK14UocgfOFyQ7lZb7Tgz","door_coords":{"z":34.15301895141601,"x":-282.6717529296875,"y":-1946.0487060546876}}],"default_state":true,"id":6,"perms":{"identifier":[],"job":[{"name":"police","grade":0}]},"door_sound":"door_metal.ogg","state":true,"door_type":"double","secret":false,"distance":2,"lockpickable":false,"camera":true},{"location_group":"Maze Bank Arena","door_name":"VIP Elevator 1","door_data":[{"model_hash":-1240156945,"text_dimensions":0.75000864267349,"unique_id":"hGi7RgKu-2DWNqMd6ZVma","door_coords":{"z":33.04344177246094,"x":-305.1551208496094,"y":-1926.9359130859376}},{"model_hash":-1240156945,"text_dimensions":0.75000864267349,"unique_id":"L1-bqAGgHIJ54ou2B--nd","door_coords":{"z":33.04214859008789,"x":-306.3059387207031,"y":-1925.9676513671876}}],"default_state":false,"id":7,"perms":{"identifier":[],"job":[{"name":"police","grade":0}]},"door_sound":"door_metal.ogg","state":false,"door_type":"double","secret":false,"distance":2,"lockpickable":false,"camera":true},{"location_group":"Maze Bank Arena","door_name":"VIP Elevator 2","door_data":[{"model_hash":-1240156945,"text_dimensions":0.75000864267349,"unique_id":"8WrR-CBnKrPh93g1BOWaU","door_coords":{"z":33.04531478881836,"x":-286.6058044433594,"y":-1942.5009765625}},{"model_hash":-1240156945,"text_dimensions":0.75000864267349,"unique_id":"ZwVR-QFU1t6XHr9QB_1AA","door_coords":{"z":33.04531478881836,"x":-285.4530334472656,"y":-1943.4669189453128}}],"default_state":false,"id":8,"perms":{"identifier":[],"job":[{"name":"police","grade":0}]},"door_sound":"door_metal.ogg","state":false,"door_type":"double","secret":false,"distance":2,"lockpickable":false,"camera":true},{"location_group":"Maze Bank Arena","door_name":"VIP 3rd Floor Canteen 1","door_data":[{"model_hash":1722387194,"text_dimensions":1.2001953125,"unique_id":"S7GlId-ZnKQteNVZHCY0c","door_coords":{"z":38.15301895141601,"x":-309.3323974609375,"y":-1923.677734375}},{"model_hash":1722387194,"text_dimensions":1.2001953125,"unique_id":"pybxeqs9XD8r9xQeYethm","door_coords":{"z":38.15301895141601,"x":-307.4936218261719,"y":-1925.220703125}}],"default_state":true,"id":9,"perms":{"identifier":[],"job":[{"name":"police","grade":0}]},"distance":2,"state":true,"door_type":"double","secret":false,"door_sound":"door_metal.ogg","lockpickable":false,"camera":true},{"location_group":"Maze Bank Arena","door_name":"VIP 3rd Floor Elevator","door_data":[{"model_hash":-1240156945,"text_dimensions":0.75000864267349,"unique_id":"Qw7Ags6zlENVLA2MinCsw","door_coords":{"z":37.04310607910156,"x":-306.3075256347656,"y":-1925.969482421875}},{"model_hash":-1240156945,"text_dimensions":0.75000864267349,"unique_id":"dU5fhbjVEhZCOOOe5DmF8","door_coords":{"z":37.04310607910156,"x":-305.1545104980469,"y":-1926.9351806640626}}],"default_state":false,"id":10,"perms":{"identifier":[],"job":[{"name":"police","grade":0}]},"door_sound":"door_metal.ogg","state":false,"door_type":"double","secret":false,"distance":2,"lockpickable":false,"camera":true},{"location_group":"Maze Bank Arena","door_name":"3rd Floor Office 1","door_data":[{"model_hash":1722387194,"text_dimensions":1.2001953125,"unique_id":"GajrcmAOKiG7FcxG4vuwu","door_coords":{"z":38.15301895141601,"x":-301.9235534667969,"y":-1932.8466796875}}],"default_state":true,"id":11,"perms":{"identifier":[],"job":[{"name":"police","grade":0}]},"door_sound":"door_metal.ogg","state":true,"door_type":"single","secret":false,"distance":2,"lockpickable":false,"camera":true},{"location_group":"Maze Bank Arena","door_name":"3rd Floor Office 2","door_data":[{"model_hash":1722387194,"text_dimensions":1.2001953125,"unique_id":"11Vq1tUdzv9MWkcE2V1ON","door_coords":{"z":38.15301895141601,"x":-292.9879455566406,"y":-1940.3446044921876}}],"default_state":true,"id":12,"perms":{"identifier":[],"job":[{"name":"police","grade":0}]},"door_sound":"door_metal.ogg","state":true,"door_type":"single","secret":false,"distance":2,"lockpickable":false,"camera":true},{"location_group":"Maze Bank Arena","door_name":"3rd Floor Broadcast","door_data":[{"model_hash":1722387194,"text_dimensions":1.2001953125,"unique_id":"cONNxc5961-CNHp8CfVAt","door_coords":{"z":38.15301895141601,"x":-282.6717529296875,"y":-1946.0487060546876}},{"model_hash":1722387194,"text_dimensions":1.2001953125,"unique_id":"PaLHO-JVfl_NUNH-E_WCr","door_coords":{"z":38.15301895141601,"x":-284.5105285644531,"y":-1944.5057373046876}}],"default_state":true,"id":13,"perms":{"identifier":[],"job":[{"name":"police","grade":0}]},"door_sound":"door_metal.ogg","state":true,"door_type":"double","secret":false,"distance":2,"lockpickable":false,"camera":true},{"location_group":"Maze Bank Arena","door_name":"Broadcast Elevator","door_data":[{"model_hash":-1240156945,"text_dimensions":0.75000864267349,"unique_id":"1cVto5cskd5o_my1RhyJW","door_coords":{"z":37.04566955566406,"x":-285.4548950195313,"y":-1943.466064453125}},{"model_hash":-1240156945,"text_dimensions":0.75000864267349,"unique_id":"B_D7A5x_MSlzpnllFj7Oy","door_coords":{"z":37.04566955566406,"x":-286.60394287109377,"y":-1942.5018310546876}}],"default_state":false,"id":14,"perms":{"identifier":[],"job":[{"name":"police","grade":0}]},"door_sound":"door_metal.ogg","state":false,"door_type":"double","secret":false,"distance":2,"lockpickable":false,"camera":true},{"location_group":"Maze Bank Arena","door_name":"4th Floor Lounge 1","door_data":[{"model_hash":1722387194,"text_dimensions":1.2001953125,"unique_id":"UP0YK5HgHapxsN600qbie","door_coords":{"z":42.15301895141601,"x":-284.5105285644531,"y":-1944.5057373046876}},{"model_hash":1722387194,"text_dimensions":1.2001953125,"unique_id":"yxGqseUfVJWtUDqw0kMsD","door_coords":{"z":42.15301895141601,"x":-282.6717529296875,"y":-1946.0487060546876}}],"default_state":true,"id":15,"perms":{"identifier":[],"job":[{"name":"police","grade":0}]},"distance":2,"state":true,"door_type":"double","secret":false,"door_sound":"door_metal.ogg","lockpickable":false,"camera":true},{"location_group":"Maze Bank Arena","door_name":"Lounge Elevator 1","door_data":[{"model_hash":-1240156945,"text_dimensions":0.75000864267349,"unique_id":"JhZ15lgThos_Fuu81vmet","door_coords":{"z":41.04566955566406,"x":-285.4548950195313,"y":-1943.466064453125}},{"model_hash":-1240156945,"text_dimensions":0.75000864267349,"unique_id":"Mae5m3nYKY6JfGNTuJMNA","door_coords":{"z":41.04566955566406,"x":-286.60394287109377,"y":-1942.5018310546876}}],"default_state":false,"id":16,"perms":{"identifier":[],"job":[{"name":"police","grade":0}]},"distance":2,"state":false,"door_type":"double","secret":false,"door_sound":"door_metal.ogg","lockpickable":false,"camera":true},{"location_group":"Maze Bank Arena","door_name":"4th Floor Lounge 2","door_data":[{"model_hash":1722387194,"text_dimensions":1.2001953125,"unique_id":"6dFZA0q2q1VXIY4cMpLWc","door_coords":{"z":42.15301895141601,"x":-309.3323974609375,"y":-1923.677734375}},{"model_hash":1722387194,"text_dimensions":1.2001953125,"unique_id":"pyFnUlATQaK1JzlxZHvOQ","door_coords":{"z":42.15301895141601,"x":-307.4936218261719,"y":-1925.220703125}}],"default_state":true,"id":17,"perms":{"identifier":[],"job":[{"name":"police","grade":0}]},"door_sound":"door_metal.ogg","state":true,"door_type":"double","secret":false,"distance":2,"lockpickable":false,"camera":true},{"location_group":"Maze Bank Arena","door_name":"Lounge Elevator 2","door_data":[{"model_hash":-1240156945,"text_dimensions":0.75000864267349,"unique_id":"qJ9K_hb13WBhNE4_psnOI","door_coords":{"z":41.04566955566406,"x":-306.3055419921875,"y":-1925.97021484375}},{"model_hash":-1240156945,"text_dimensions":0.75000864267349,"unique_id":"_nGQE7SZR6TFKYdCqT22k","door_coords":{"z":41.04566955566406,"x":-305.156494140625,"y":-1926.9344482421876}}],"default_state":false,"id":18,"perms":{"identifier":[],"job":[{"name":"police","grade":0}]},"door_sound":"door_metal.ogg","state":false,"door_type":"double","secret":false,"distance":2,"lockpickable":false,"camera":true},{"location_group":"Maze Bank Arena","door_name":"Food and Beverage","door_data":[{"model_hash":1722387194,"text_dimensions":1.2001953125,"unique_id":"17teKJiz9SaHV7YifNFun","door_coords":{"z":30.25301742553711,"x":-289.5816345214844,"y":-1937.379638671875}}],"default_state":true,"id":19,"perms":{"identifier":[],"job":[{"name":"police","grade":0}]},"door_sound":"door_metal.ogg","state":true,"door_type":"single","secret":false,"distance":2,"lockpickable":false,"camera":true},{"location_group":"Maze Bank Arena","door_name":"Merch","door_data":[{"model_hash":1722387194,"text_dimensions":1.2001953125,"unique_id":"dhYZS-gmDXia_BagzU5FO","door_coords":{"z":30.25301742553711,"x":-299.5952453613281,"y":-1928.9775390625}}],"default_state":true,"id":20,"perms":{"identifier":[],"job":[{"name":"police","grade":0}]},"door_sound":"door_metal.ogg","state":true,"door_type":"single","secret":false,"distance":2,"lockpickable":false,"camera":true},{"location_group":"Maze Bank Arena","door_name":"Side Left","door_data":[{"model_hash":1722387194,"text_dimensions":1.2001953125,"unique_id":"SY9USjAAFyFjdAs_QqRDV","door_coords":{"z":30.25301742553711,"x":-283.46478271484377,"y":-1937.7310791015626}},{"model_hash":1722387194,"text_dimensions":1.2001953125,"unique_id":"z7ghm3ZWCG9W3c10-G7mO","door_coords":{"z":30.25301742553711,"x":-285.0076904296875,"y":-1939.56982421875}}],"default_state":true,"id":21,"perms":{"identifier":[],"job":[{"name":"police","grade":0}]},"door_sound":"door_metal.ogg","state":true,"door_type":"double","secret":false,"distance":2,"lockpickable":false,"camera":true},{"location_group":"Maze Bank Arena","door_name":"Tickets Purple","door_data":[{"model_hash":1722387194,"text_dimensions":1.2001953125,"unique_id":"s0_AOxUdwAsWuGgbkBUB2","door_coords":{"z":30.25301742553711,"x":-280.5497741699219,"y":-1938.2298583984376}}],"default_state":true,"id":22,"perms":{"identifier":[],"job":[{"name":"police","grade":0}]},"door_sound":"door_metal.ogg","state":true,"door_type":"single","secret":false,"distance":2,"lockpickable":false,"camera":true},{"location_group":"Maze Bank Arena","door_name":"Downstairs Left","door_data":[{"model_hash":1722387194,"text_dimensions":1.2001953125,"unique_id":"aGhueZUF64hDEEkCvlAEP","door_coords":{"z":21.71078109741211,"x":-283.463623046875,"y":-1937.729736328125}},{"model_hash":1722387194,"text_dimensions":1.2001953125,"unique_id":"T3vP9h24pJmRhyqRPLpg0","door_coords":{"z":21.71078109741211,"x":-285.0065612792969,"y":-1939.5684814453128}}],"default_state":true,"id":23,"perms":{"identifier":[],"job":[{"name":"police","grade":0}]},"door_sound":"door_metal.ogg","state":true,"door_type":"double","secret":false,"distance":2,"lockpickable":false,"camera":true},{"location_group":"Maze Bank Arena","door_name":"Downstairs Left Elevator","door_data":[{"model_hash":-1240156945,"text_dimensions":0.75000864267349,"unique_id":"8u24X6DZRKLeQREoTymgH","door_coords":{"z":20.60343360900879,"x":-285.6939392089844,"y":-1940.6826171875}},{"model_hash":-1240156945,"text_dimensions":0.75000864267349,"unique_id":"StAavNwNyAqEggSVACS6s","door_coords":{"z":20.60343360900879,"x":-286.6581115722656,"y":-1941.8316650390626}}],"default_state":false,"id":24,"perms":{"identifier":[],"job":[{"name":"police","grade":0}]},"door_sound":"door_metal.ogg","state":false,"door_type":"double","secret":false,"distance":2,"lockpickable":false,"camera":true},{"location_group":"Maze Bank Arena","door_name":"Downstairs Right Elevator","door_data":[{"model_hash":-1240156945,"text_dimensions":0.75000864267349,"unique_id":"ybzrG-x1EDmjCi5LTQnJ4","door_coords":{"z":20.60343360900879,"x":-303.5228576660156,"y":-1925.722412109375}},{"model_hash":-1240156945,"text_dimensions":0.75000864267349,"unique_id":"KsZ0ThFxNdWhXAXyMa_Uu","door_coords":{"z":20.60343360900879,"x":-304.4870300292969,"y":-1926.8714599609376}}],"default_state":false,"id":25,"perms":{"identifier":[],"job":[{"name":"police","grade":0}]},"door_sound":"door_metal.ogg","state":false,"door_type":"double","secret":false,"distance":2,"lockpickable":false,"camera":true},{"location_group":"Maze Bank Arena","door_name":"Doorlock Right","door_data":[{"model_hash":1722387194,"text_dimensions":1.2001953125,"unique_id":"ir1De4qWjVC0lqGLydPqn","door_coords":{"z":21.71078109741211,"x":-302.5452270507813,"y":-1924.851806640625}},{"model_hash":1722387194,"text_dimensions":1.2001953125,"unique_id":"hI_tjZ7K9N8nlgcSH7y2j","door_coords":{"z":21.71078109741211,"x":-301.0022888183594,"y":-1923.0130615234376}}],"default_state":true,"id":26,"perms":{"identifier":[],"job":[{"name":"police","grade":0}]},"door_sound":"door_metal.ogg","state":true,"door_type":"double","secret":false,"distance":2,"lockpickable":false,"camera":true},{"location_group":"Maze Bank Arena","door_name":"Garage 1","door_data":[{"model_hash":-1098702270,"text_dimensions":0,"unique_id":"nw10hjI0WEpCJR8D_s1hI","door_coords":{"z":24.11402130126953,"x":-375.4384765625,"y":-1880.233642578125}}],"default_state":false,"id":27,"perms":{"identifier":[],"job":[{"name":"police","grade":0}]},"door_sound":"door_metal.ogg","state":false,"door_type":"garage","secret":false,"distance":2,"lockpickable":false,"camera":true},{"location_group":"Maze Bank Arena","door_name":"Garage 2","door_data":[{"model_hash":-1098702270,"text_dimensions":0,"unique_id":"RK2IfWemFghZXVN7g9VEs","door_coords":{"z":24.12458419799804,"x":-386.1567687988281,"y":-1885.44970703125}}],"default_state":false,"id":28,"perms":{"identifier":[],"job":[{"name":"police","grade":0}]},"door_sound":"door_metal.ogg","state":false,"door_type":"garage","secret":false,"distance":2,"lockpickable":false,"camera":true},{"location_group":"Maze Bank Arena","door_name":"Garage Hallway 1","door_data":[{"model_hash":1722387194,"text_dimensions":1.2001953125,"unique_id":"yAkEjozyMh9-SEf-mewZ8","door_coords":{"z":21.71078109741211,"x":-353.4983825683594,"y":-1902.735595703125}},{"model_hash":1722387194,"text_dimensions":1.2001953125,"unique_id":"l-vFHJfacxqLiBYOprH3j","door_coords":{"z":21.71078109741211,"x":-351.65960693359377,"y":-1904.278564453125}}],"default_state":true,"id":29,"perms":{"identifier":[],"job":[{"name":"police","grade":0}]},"door_sound":"door_metal.ogg","state":true,"door_type":"double","secret":false,"distance":2,"lockpickable":false,"camera":true},{"location_group":"Maze Bank Arena","door_name":"Elevator Left","door_data":[{"model_hash":-1240156945,"text_dimensions":0.75000864267349,"unique_id":"1rAnwS_414q46ji0Y0IeD","door_coords":{"z":29.14566993713379,"x":-285.6939392089844,"y":-1940.6826171875}},{"model_hash":-1240156945,"text_dimensions":0.75000864267349,"unique_id":"8VQaNfPCDfb_cbmeViwhM","door_coords":{"z":29.14566993713379,"x":-286.6581115722656,"y":-1941.8316650390626}}],"default_state":false,"id":30,"perms":{"identifier":[],"job":[{"name":"police","grade":0}]},"door_sound":"door_metal.ogg","state":false,"door_type":"double","secret":false,"distance":2,"lockpickable":false,"camera":true},{"location_group":"Maze Bank Arena","door_name":"Elevator Right","door_data":[{"model_hash":-1240156945,"text_dimensions":0.75000864267349,"unique_id":"kb-QBEx0U_nj-gE1nAZYE","door_coords":{"z":29.14566993713379,"x":-304.4870300292969,"y":-1926.8714599609376}},{"model_hash":-1240156945,"text_dimensions":0.75000864267349,"unique_id":"BHC6WFPBNge342PCrmpVx","door_coords":{"z":29.14566993713379,"x":-303.5228576660156,"y":-1925.722412109375}}],"default_state":false,"id":31,"perms":{"identifier":[],"job":[{"name":"police","grade":0}]},"door_sound":"door_metal.ogg","state":false,"door_type":"double","secret":false,"distance":2,"lockpickable":false,"camera":true},{"location_group":"Maze Bank Arena","door_name":"Stage Right","door_data":[{"model_hash":1722387194,"text_dimensions":1.2001953125,"unique_id":"8LF0nymDpj2q_j2RkQDzd","door_coords":{"z":30.25301742553711,"x":-303.849609375,"y":-1928.2784423828128}},{"model_hash":1722387194,"text_dimensions":1.2001953125,"unique_id":"MB9cgi-_5xYTrlF94CtEA","door_coords":{"z":30.25301742553711,"x":-302.0108032226563,"y":-1929.8212890625}}],"default_state":false,"id":32,"perms":{"identifier":[],"job":[{"name":"police","grade":0}]},"door_sound":"door_metal.ogg","state":false,"door_type":"double","secret":false,"distance":2,"lockpickable":false,"camera":true},{"location_group":"Maze Bank Arena","door_name":"Stage Left","door_data":[{"model_hash":1722387194,"text_dimensions":1.2001953125,"unique_id":"Q-38s6H3OZpGuEElYZX0M","door_coords":{"z":30.25301742553711,"x":-289.9933166503906,"y":-1939.9051513671876}},{"model_hash":1722387194,"text_dimensions":1.2001953125,"unique_id":"31Ef_Zf1OU9hgojThe6fY","door_coords":{"z":30.25301742553711,"x":-288.154541015625,"y":-1941.4481201171876}}],"default_state":false,"id":33,"perms":{"identifier":[],"job":[{"name":"police","grade":0}]},"door_sound":"door_metal.ogg","state":false,"door_type":"double","secret":false,"distance":2,"lockpickable":false,"camera":true},{"location_group":"Maze Bank Arena","door_name":"Lockers Purple","door_data":[{"model_hash":1722387194,"text_dimensions":1.2001953125,"unique_id":"aEO77rJTFFYq7LQHCjvHB","door_coords":{"z":21.71078109741211,"x":-267.4485778808594,"y":-2025.0224609375}},{"model_hash":1722387194,"text_dimensions":1.2001953125,"unique_id":"vb_cPM1p8UhnHH8BSO163","door_coords":{"z":21.71078109741211,"x":-265.9058227539063,"y":-2023.1839599609376}}],"default_state":true,"id":34,"perms":{"identifier":[],"job":[{"name":"police","grade":0}]},"distance":2,"state":true,"door_type":"double","secret":false,"door_sound":"door_metal.ogg","lockpickable":false,"camera":true},{"location_group":"Maze Bank Arena","door_name":"Shower Purple","door_data":[{"model_hash":1722387194,"text_dimensions":1.2001953125,"unique_id":"eFuzuX79c_pZunAPPOWBI","door_coords":{"z":21.71078109741211,"x":-267.9337463378906,"y":-2030.24462890625}}],"default_state":true,"id":35,"perms":{"identifier":[],"job":[{"name":"police","grade":0}]},"door_sound":"door_metal.ogg","state":true,"door_type":"single","secret":false,"distance":2,"lockpickable":false,"camera":true},{"location_group":"Maze Bank Arena","door_name":"Lockers Red","door_data":[{"model_hash":1722387194,"text_dimensions":1.2001953125,"unique_id":"Zi4seh2PiXkFFoTOHueeF","door_coords":{"z":21.71078109741211,"x":-260.2333679199219,"y":-2016.423828125}},{"model_hash":1722387194,"text_dimensions":1.2001953125,"unique_id":"LuCHw_pRw0V5zSAtt1gtJ","door_coords":{"z":21.71078109741211,"x":-258.69061279296877,"y":-2014.585205078125}}],"default_state":true,"id":36,"perms":{"identifier":[],"job":[{"name":"police","grade":0}]},"door_sound":"door_metal.ogg","state":true,"door_type":"double","secret":false,"distance":2,"lockpickable":false,"camera":true},{"location_group":"Maze Bank Arena","door_name":"Shower Red","door_data":[{"model_hash":1722387194,"text_dimensions":1.2001953125,"unique_id":"cewuCrnwIOmWG5F3PSQOj","door_coords":{"z":21.71078109741211,"x":-253.63223266601569,"y":-2013.20068359375}}],"default_state":true,"id":37,"perms":{"identifier":[],"job":[{"name":"police","grade":0}]},"door_sound":"door_metal.ogg","state":true,"door_type":"single","secret":false,"distance":2,"lockpickable":false,"camera":true},{"location_group":"Maze Bank Arena","door_name":"Interview 1","door_data":[{"model_hash":1722387194,"text_dimensions":1.2001953125,"unique_id":"7LVVwkhagivtM3odFQlry","door_coords":{"z":21.71078109741211,"x":-262.29730224609377,"y":-2008.9332275390626}},{"model_hash":1722387194,"text_dimensions":1.2001953125,"unique_id":"q51RZ8MSU3QB9AQwAUrMK","door_coords":{"z":21.71078109741211,"x":-260.4585266113281,"y":-2010.4761962890626}}],"default_state":true,"id":38,"perms":{"identifier":[],"job":[{"name":"police","grade":0}]},"door_sound":"door_metal.ogg","state":true,"door_type":"double","secret":false,"distance":2,"lockpickable":false,"camera":true},{"location_group":"Maze Bank Arena","door_name":"Interview 2","door_data":[{"model_hash":1722387194,"text_dimensions":1.2001953125,"unique_id":"WFwCPHle_iouXX5z47K-z","door_coords":{"z":21.71078109741211,"x":-271.8023376464844,"y":-2023.9952392578128}},{"model_hash":1722387194,"text_dimensions":1.2001953125,"unique_id":"YDHjGgSRx_nf4H72v6e0R","door_coords":{"z":21.71078109741211,"x":-273.64111328125,"y":-2022.4522705078128}}],"default_state":true,"id":39,"perms":{"identifier":[],"job":[{"name":"police","grade":0}]},"door_sound":"door_metal.ogg","state":true,"door_type":"double","secret":false,"distance":2,"lockpickable":false,"camera":true},{"location_group":"Maze Bank Arena","door_name":"Interview Elevator 2","door_data":[{"model_hash":-1240156945,"text_dimensions":0.75000864267349,"unique_id":"Qzth7K7pgs4cbce8G68dl","door_coords":{"z":20.60343360900879,"x":-269.5152282714844,"y":-2026.16162109375}},{"model_hash":-1240156945,"text_dimensions":0.75000864267349,"unique_id":"WvTSNBxv_Yb80Wv0vBVvL","door_coords":{"z":20.60343360900879,"x":-270.664306640625,"y":-2025.197509765625}}],"default_state":false,"id":40,"perms":{"identifier":[],"job":[{"name":"police","grade":0}]},"door_sound":"door_metal.ogg","state":false,"door_type":"double","secret":false,"distance":2,"lockpickable":false,"camera":true},{"location_group":"Maze Bank Arena","door_name":"Interview Elevator 1","door_data":[{"model_hash":-1240156945,"text_dimensions":0.75000864267349,"unique_id":"y8zFwe9-jPggJxyf-193g","door_coords":{"z":20.60343360900879,"x":-259.076904296875,"y":-2011.38818359375}},{"model_hash":-1240156945,"text_dimensions":0.75000864267349,"unique_id":"nLpqlvo3rE7dyoke7KYQO","door_coords":{"z":20.60343360900879,"x":-257.9278259277344,"y":-2012.352294921875}}],"default_state":false,"id":41,"perms":{"identifier":[],"job":[{"name":"police","grade":0}]},"door_sound":"door_metal.ogg","state":false,"door_type":"double","secret":false,"distance":2,"lockpickable":false,"camera":true},{"location_group":"Maze Bank Arena","door_name":"Dressing Room 1","door_data":[{"model_hash":1722387194,"text_dimensions":1.2001953125,"unique_id":"1Dx7t7baGYEFO1PuvdcFF","door_coords":{"z":21.71078109741211,"x":-276.0103149414063,"y":-2005.298095703125}}],"default_state":true,"id":42,"perms":{"identifier":[],"job":[{"name":"police","grade":0}]},"door_sound":"door_metal.ogg","state":true,"door_type":"single","secret":false,"distance":2,"lockpickable":false,"camera":true},{"location_group":"Maze Bank Arena","door_name":"Dressing Room 2","door_data":[{"model_hash":1722387194,"text_dimensions":1.2001953125,"unique_id":"uFwiLjvNNkJYwXYlWQZ1-","door_coords":{"z":21.71078109741211,"x":-279.6095275878906,"y":-2009.5872802734376}}],"default_state":true,"id":43,"perms":{"identifier":[],"job":[{"name":"police","grade":0}]},"door_sound":"door_metal.ogg","state":true,"door_type":"single","secret":false,"distance":2,"lockpickable":false,"camera":true},{"location_group":"Maze Bank Arena","door_name":"Interview","door_data":[{"model_hash":1722387194,"text_dimensions":1.2001953125,"unique_id":"MyJjI4nkukKpKx0l2KDEE","door_coords":{"z":21.71078109741211,"x":-277.72576904296877,"y":-2005.9423828125}},{"model_hash":1722387194,"text_dimensions":1.2001953125,"unique_id":"u2ho2UUI3KpcCmO1_ZKOB","door_coords":{"z":21.71078109741211,"x":-279.2685241699219,"y":-2007.781005859375}}],"default_state":true,"id":44,"perms":{"identifier":[],"job":[{"name":"police","grade":0}]},"door_sound":"door_metal.ogg","state":true,"door_type":"double","secret":false,"distance":2,"lockpickable":false,"camera":true},{"location_group":"Maze Bank Arena","door_name":"Side Entrance","door_data":[{"model_hash":160224187,"text_dimensions":-1.20012363850769,"unique_id":"HyO5pIOYNS57vOi8-WZQ9","door_coords":{"z":30.25301742553711,"x":-254.2315368652344,"y":-2025.835205078125}},{"model_hash":-1911661372,"text_dimensions":-1.20012360850768,"unique_id":"2NXQ9bpdT2dTeWtUSXN8J","door_coords":{"z":30.25301742553711,"x":-255.77438354492188,"y":-2027.6739501953128}}],"default_state":false,"id":45,"perms":{"identifier":[],"job":[{"name":"police","grade":0}]},"door_sound":"door_metal.ogg","state":false,"door_type":"double","secret":false,"distance":2,"lockpickable":false,"camera":true},{"location_group":"Maze Bank Arena","door_name":"Reception 1","door_data":[{"model_hash":1722387194,"text_dimensions":1.2001953125,"unique_id":"M6AMD7Ljs7QIw5mKPXkoU","door_coords":{"z":30.25301742553711,"x":-270.0722351074219,"y":-2019.4415283203128}}],"default_state":true,"id":46,"perms":{"identifier":[],"job":[{"name":"police","grade":0}]},"door_sound":"door_metal.ogg","state":true,"door_type":"single","secret":false,"distance":2,"lockpickable":false,"camera":true},{"location_group":"Maze Bank Arena","door_name":"Reception 2","door_data":[{"model_hash":1722387194,"text_dimensions":1.2001953125,"unique_id":"beywc46xlLHlSm7fmP19q","door_coords":{"z":30.25301742553711,"x":-264.642578125,"y":-2012.970703125}}],"default_state":true,"id":47,"perms":{"identifier":[],"job":[{"name":"police","grade":0}]},"door_sound":"door_metal.ogg","state":true,"door_type":"single","secret":false,"distance":2,"lockpickable":false,"camera":true},{"location_group":"Maze Bank Arena","door_name":"Offices Left","door_data":[{"model_hash":1722387194,"text_dimensions":1.2001953125,"unique_id":"xJ1iRQ5qPhEqFl3vUVP6Z","door_coords":{"z":30.25301742553711,"x":-273.6999206542969,"y":-2020.9669189453128}},{"model_hash":1722387194,"text_dimensions":1.2001953125,"unique_id":"4zfhFdlymeb7ML1xou7tF","door_coords":{"z":30.25301742553711,"x":-272.1570129394531,"y":-2019.1280517578128}}],"default_state":true,"id":48,"perms":{"identifier":[],"job":[{"name":"police","grade":0}]},"door_sound":"door_metal.ogg","state":true,"door_type":"double","secret":false,"distance":2,"lockpickable":false,"camera":true},{"location_group":"Maze Bank Arena","door_name":"Offices Right","door_data":[{"model_hash":1722387194,"text_dimensions":1.2001953125,"unique_id":"n02fE1mTYzqmxtONGMo0x","door_coords":{"z":30.25301742553711,"x":-265.31317138671877,"y":-2010.971923828125}},{"model_hash":1722387194,"text_dimensions":1.2001953125,"unique_id":"e1LJzOxMy7oc9wbOjL7nW","door_coords":{"z":30.25301742553711,"x":-263.770263671875,"y":-2009.1331787109376}}],"default_state":true,"id":49,"perms":{"identifier":[],"job":[{"name":"police","grade":0}]},"door_sound":"door_metal.ogg","state":true,"door_type":"double","secret":false,"distance":2,"lockpickable":false,"camera":true},{"location_group":"Maze Bank Arena","door_name":"Office 1","door_data":[{"model_hash":1722387194,"text_dimensions":1.2001953125,"unique_id":"juYBRoLZDVqCxF9Gi1S5k","door_coords":{"z":30.25301742553711,"x":-264.501708984375,"y":-2007.08349609375}}],"default_state":true,"id":50,"perms":{"identifier":[],"job":[{"name":"police","grade":0}]},"door_sound":"door_metal.ogg","state":true,"door_type":"single","secret":false,"distance":2,"lockpickable":false,"camera":true},{"location_group":"Maze Bank Arena","door_name":"Conference","door_data":[{"model_hash":1722387194,"text_dimensions":1.2001953125,"unique_id":"mwshrVBp4VX2FECVkHEIl","door_coords":{"z":30.25301742553711,"x":-275.8454895019531,"y":-2020.6025390625}}],"default_state":true,"id":51,"perms":{"identifier":[],"job":[{"name":"police","grade":0}]},"door_sound":"door_metal.ogg","state":true,"door_type":"single","secret":false,"distance":2,"lockpickable":false,"camera":true},{"location_group":"Maze Bank Arena","door_name":"Office to Arena","door_data":[{"model_hash":1722387194,"text_dimensions":1.2001953125,"unique_id":"kMfzB20CFVrDY4J8_dlLp","door_coords":{"z":30.25301742553711,"x":-279.49700927734377,"y":-2007.58642578125}},{"model_hash":1722387194,"text_dimensions":1.2001953125,"unique_id":"rpDYN2ZqsxsrAJbK8V124","door_coords":{"z":30.25301742553711,"x":-277.9540710449219,"y":-2005.7476806640626}}],"default_state":true,"id":52,"perms":{"identifier":[],"job":[{"name":"police","grade":0}]},"door_sound":"door_metal.ogg","state":true,"door_type":"double","secret":false,"distance":2,"lockpickable":false,"camera":true},{"location_group":"Maze Bank Arena","door_name":"Interview Staircase 1","door_data":[{"model_hash":1722387194,"text_dimensions":1.2001953125,"unique_id":"BAG3PCp3jmbW5okKmps5g","door_coords":{"z":30.25301742553711,"x":-271.8023376464844,"y":-2023.9952392578128}},{"model_hash":1722387194,"text_dimensions":1.2001953125,"unique_id":"xd_HTpBnBgeHqVAqJHTrN","door_coords":{"z":30.25301742553711,"x":-273.64111328125,"y":-2022.4522705078128}}],"default_state":true,"id":53,"perms":{"identifier":[],"job":[{"name":"police","grade":0}]},"door_sound":"door_metal.ogg","state":true,"door_type":"double","secret":false,"distance":2,"lockpickable":false,"camera":true},{"location_group":"Maze Bank Arena","door_name":"Interview Staircase 2","door_data":[{"model_hash":1722387194,"text_dimensions":1.2001953125,"unique_id":"NCUJpVplFmqcXr-lpxKzq","door_coords":{"z":30.25301742553711,"x":-260.4585266113281,"y":-2010.4761962890626}},{"model_hash":1722387194,"text_dimensions":1.2001953125,"unique_id":"HRxptsDvmhXv7q3b3G1Dj","door_coords":{"z":30.25301742553711,"x":-262.29730224609377,"y":-2008.9332275390626}}],"default_state":true,"id":54,"perms":{"identifier":[],"job":[{"name":"police","grade":0}]},"door_sound":"door_metal.ogg","state":true,"door_type":"double","secret":false,"distance":2,"lockpickable":false,"camera":true},{"location_group":"Maze Bank Arena","door_name":"Side Elevator Right","door_data":[{"model_hash":-1240156945,"text_dimensions":0.75000864267349,"unique_id":"oqTsd7ZjtwtyDTXV7YihQ","door_coords":{"z":29.14566993713379,"x":-259.076904296875,"y":-2011.38818359375}},{"model_hash":-1240156945,"text_dimensions":0.75000864267349,"unique_id":"GZiytjLKGWmEJmgUO0q3h","door_coords":{"z":29.14566993713379,"x":-257.9278259277344,"y":-2012.352294921875}}],"default_state":false,"id":55,"perms":{"identifier":[],"job":[{"name":"police","grade":0}]},"door_sound":"door_metal.ogg","state":false,"door_type":"double","secret":false,"distance":2,"lockpickable":false,"camera":true},{"location_group":"Maze Bank Arena","door_name":"Side Elevator Left","door_data":[{"model_hash":-1240156945,"text_dimensions":0.75000864267349,"unique_id":"QfyRXtPoO-RVvbo89yDzZ","door_coords":{"z":29.14386367797851,"x":-269.5140686035156,"y":-2026.163330078125}},{"model_hash":-1240156945,"text_dimensions":0.75000864267349,"unique_id":"1W6HivSidOhcUS6JdhBoe","door_coords":{"z":29.14386367797851,"x":-270.66546630859377,"y":-2025.19580078125}}],"default_state":false,"id":56,"perms":{"identifier":[],"job":[{"name":"police","grade":0}]},"door_sound":"door_metal.ogg","state":false,"door_type":"double","secret":false,"distance":2,"lockpickable":false,"camera":true}], + "name": "mba.json" +} \ No newline at end of file diff --git a/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/mba_mma.json b/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/mba_mma.json new file mode 100644 index 000000000..adc4cc353 --- /dev/null +++ b/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/mba_mma.json @@ -0,0 +1,5 @@ +{ + "imported": false, + "data": [{"location_group":"MBA MMA","door_sound":"door_click.ogg","lockpickable":false,"default_state":false,"id":1,"door_type":"single","door_data":[{"model_hash":123879009,"unique_id":"BeGLQbkb97y6PQYyTjjr3","door_coords":{"y":-1972.3277587890626,"z":22.34663963317871,"x":-326.7613830566406},"text_dimensions":-1.17614130675792}],"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"distance":2,"secret":false,"camera":true,"door_name":"Ring Entrance","state":false}], + "name": "mba_mma.json" +} diff --git a/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/mrpd.json b/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/mrpd.json new file mode 100644 index 000000000..cc6b698af --- /dev/null +++ b/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/mrpd.json @@ -0,0 +1 @@ +{"imported":false,"name":"mrpd.json","data":[{"door_type":"double","location_group":"MRPD","secret":false,"lockpickable":false,"camera":false,"default_state":true,"door_name":"Entrance","state":false,"door_data":[{"door_coords":{"x":434.7444458007813,"y":-980.7555541992188,"z":30.81530380249023},"unique_id":"UigMLh0o5z1d4GGHFyeeW","model_hash":-1547307588,"text_dimensions":1.1612769094147},{"door_coords":{"x":434.7444458007813,"y":-983.078125,"z":30.81530380249023},"unique_id":"JYhwketeuyY-BJg4yMD87","model_hash":-1547307588,"text_dimensions":1.1612769094147}],"distance":2,"perms":{"job":[{"grade":0,"name":"police"}]},"door_sound":"door_metal.ogg","id":1},{"door_type":"single","location_group":"MRPD","secret":false,"lockpickable":false,"camera":false,"default_state":true,"door_name":"Waiting Room Left","state":true,"door_data":[{"door_coords":{"x":440.52008056640627,"y":-977.60107421875,"z":30.82319259643554},"unique_id":"PfeYVzrWBI99DZaj_-ZAL","model_hash":-1406685646,"text_dimensions":1.20805005891418}],"distance":2,"perms":{"job":[{"grade":0,"name":"police"}]},"door_sound":"door_regular.ogg","id":2},{"door_type":"single","location_group":"MRPD","secret":false,"lockpickable":false,"camera":false,"default_state":true,"door_name":"Waiting Room Right","state":false,"door_data":[{"door_coords":{"x":440.52008056640627,"y":-986.2334594726564,"z":30.82319259643554},"unique_id":"QS3JVS3QyWnyh51TVLZ6q","model_hash":-96679321,"text_dimensions":-1.20805005891418}],"distance":2,"perms":{"job":[{"grade":0,"name":"police"}]},"door_sound":"door_regular.ogg","id":3},{"door_type":"double","location_group":"MRPD","secret":false,"lockpickable":false,"camera":false,"default_state":true,"door_name":"Press Room","state":true,"door_data":[{"door_coords":{"x":438.1970825195313,"y":-996.316650390625,"z":30.82319259643554},"unique_id":"bIKXGBf8dha4CqWJJFJRR","model_hash":-288803980,"text_dimensions":1.20805005891418},{"door_coords":{"x":438.1970825195313,"y":-993.9112548828124,"z":30.82319259643554},"unique_id":"7jCzkQEBFR3s5vuSLAD51","model_hash":-288803980,"text_dimensions":1.20805005891418}],"distance":2,"perms":{"job":[{"grade":0,"name":"police"}]},"door_sound":"door_wooden.ogg","id":4},{"door_type":"double","location_group":"MRPD","secret":false,"lockpickable":false,"camera":false,"default_state":true,"door_name":"Parking Entrance","state":false,"door_data":[{"door_coords":{"x":443.061767578125,"y":-998.7462158203124,"z":30.81530380249023},"unique_id":"Q5b9B4c5b3874iywIozFf","model_hash":-1547307588,"text_dimensions":1.1612769094147},{"door_coords":{"x":440.73919677734377,"y":-998.7462158203124,"z":30.81530380249023},"unique_id":"XxAtiZDCIpPLkMetc1bfu","model_hash":-1547307588,"text_dimensions":1.1612769094147}],"distance":2,"perms":{"job":[{"grade":0,"name":"police"}]},"door_sound":"door_metal.ogg","id":5},{"door_type":"single","location_group":"MRPD","secret":false,"lockpickable":false,"camera":false,"default_state":true,"door_name":"Reception","state":true,"door_data":[{"door_coords":{"x":445.4067077636719,"y":-984.201416015625,"z":30.82319259643554},"unique_id":"WSWX5_gLeJlPcYuNsSlGy","model_hash":-1406685646,"text_dimensions":1.20805005891418}],"distance":2,"perms":{"job":[{"grade":0,"name":"police"}]},"door_sound":"door_regular.ogg","id":6},{"door_type":"double","location_group":"MRPD","secret":false,"lockpickable":false,"camera":false,"default_state":true,"door_name":"Street Entrance","state":false,"door_data":[{"door_coords":{"x":455.88616943359377,"y":-972.2542724609376,"z":30.8153076171875},"unique_id":"dRrWjU_UC8deDQKZufPJr","model_hash":-1547307588,"text_dimensions":1.1612769094147},{"door_coords":{"x":458.208740234375,"y":-972.2542724609376,"z":30.8153076171875},"unique_id":"72aYqake-fJ6Av4Lhg-3E","model_hash":-1547307588,"text_dimensions":1.1612769094147}],"distance":2,"perms":{"job":[{"grade":0,"name":"police"}]},"door_sound":"door_metal.ogg","id":7},{"door_type":"single","location_group":"MRPD","secret":false,"lockpickable":false,"camera":false,"default_state":true,"door_name":"Break Room","state":true,"door_data":[{"door_coords":{"x":458.6543273925781,"y":-976.8864135742188,"z":30.82319259643554},"unique_id":"1X9xGs79WBqc4YZMe9uM-","model_hash":-1406685646,"text_dimensions":1.20805005891418}],"distance":2,"perms":{"job":[{"grade":0,"name":"police"}]},"door_sound":"door_regular.ogg","id":8},{"door_type":"single","location_group":"MRPD","secret":false,"lockpickable":false,"camera":false,"default_state":true,"door_name":"Captains Office","state":true,"door_data":[{"door_coords":{"x":458.6543273925781,"y":-990.6497802734376,"z":30.82319259643554},"unique_id":"yTnZils8P-jNusVJ-gMJd","model_hash":-96679321,"text_dimensions":-1.20805005891418}],"distance":2,"perms":{"job":[{"grade":0,"name":"police"}]},"door_sound":"door_regular.ogg","id":9},{"door_type":"single","location_group":"MRPD","secret":false,"lockpickable":false,"camera":false,"default_state":true,"door_name":"Lockers","state":false,"door_data":[{"door_coords":{"x":458.08941650390627,"y":-995.524658203125,"z":30.82319259643554},"unique_id":"Kh8FJGxOHccVy5YAQi-Xw","model_hash":149284793,"text_dimensions":1.20805005891418}],"distance":2,"perms":{"job":[{"grade":0,"name":"police"}]},"door_sound":"door_regular.ogg","id":10},{"door_type":"single","location_group":"MRPD","secret":false,"lockpickable":false,"camera":false,"default_state":true,"door_name":"Archives","state":true,"door_data":[{"door_coords":{"x":452.2662658691406,"y":-995.525390625,"z":30.82319259643554},"unique_id":"CfbIQKN3qyaG7UBSVNzLe","model_hash":-96679321,"text_dimensions":-1.20805005891418}],"distance":2,"perms":{"job":[{"grade":0,"name":"police"}]},"door_sound":"door_regular.ogg","id":11},{"door_type":"double","location_group":"MRPD","secret":false,"lockpickable":false,"camera":false,"default_state":true,"door_name":"Back Rooms","state":false,"door_data":[{"door_coords":{"x":469.4406127929688,"y":-987.4376831054688,"z":30.82319259643554},"unique_id":"zmllZEdZ55Leq6ep_Ra6D","model_hash":-288803980,"text_dimensions":1.20805005891418},{"door_coords":{"x":469.4406127929688,"y":-985.0313110351564,"z":30.82319259643554},"unique_id":"Yih0-hDccnZ75JzjtZpE3","model_hash":-288803980,"text_dimensions":1.20805005891418}],"distance":2,"perms":{"job":[{"grade":0,"name":"police"}]},"door_sound":"door_wooden.ogg","id":12},{"door_type":"double","location_group":"MRPD","secret":false,"lockpickable":false,"camera":false,"default_state":true,"door_name":"Bathroom","state":false,"door_data":[{"door_coords":{"x":472.97808837890627,"y":-984.3721923828124,"z":30.82319259643554},"unique_id":"OdSlozuTY-tpjbtzkCm5T","model_hash":149284793,"text_dimensions":1.20805005891418},{"door_coords":{"x":475.3836975097656,"y":-984.3721923828124,"z":30.82319259643554},"unique_id":"XN6p8aL9it4SIos-_0qBS","model_hash":149284793,"text_dimensions":1.20805005891418}],"distance":2,"perms":{"job":[{"grade":0,"name":"police"}]},"door_sound":"door_wooden.ogg","id":13},{"door_type":"double","location_group":"MRPD","secret":false,"lockpickable":false,"camera":false,"default_state":true,"door_name":"Briefing Room","state":false,"door_data":[{"door_coords":{"x":472.9776916503906,"y":-989.82470703125,"z":30.82319259643554},"unique_id":"1aQpGjhHUmDyivcH408_Y","model_hash":-96679321,"text_dimensions":-1.20805005891418},{"door_coords":{"x":475.3836975097656,"y":-989.82470703125,"z":30.82319259643554},"unique_id":"Yov_1d91HeGEPFYWhmeOY","model_hash":-1406685646,"text_dimensions":1.20805005891418}],"distance":2,"perms":{"job":[{"grade":0,"name":"police"}]},"door_sound":"door_wooden.ogg","id":14},{"door_type":"single","location_group":"MRPD","secret":false,"lockpickable":false,"camera":false,"default_state":true,"door_name":"Briefing Room Side","state":false,"door_data":[{"door_coords":{"x":476.7511596679688,"y":-999.6306762695313,"z":30.82319259643554},"unique_id":"Jfmnhnp2M161dWCm8TVE2","model_hash":-1406685646,"text_dimensions":1.20805005891418}],"distance":2,"perms":{"job":[{"grade":0,"name":"police"}]},"door_sound":"door_regular.ogg","id":15},{"door_type":"double","location_group":"MRPD","secret":false,"lockpickable":false,"camera":false,"default_state":true,"door_name":"Forensic Lab","state":false,"door_data":[{"door_coords":{"x":479.7533874511719,"y":-986.215087890625,"z":30.82319259643554},"unique_id":"IjV0bKMPkEhwvkKvKdncz","model_hash":-1406685646,"text_dimensions":1.20805005891418},{"door_coords":{"x":479.7533874511719,"y":-988.620361328125,"z":30.82319259643554},"unique_id":"io191kTmSyK27zYHCdF0C","model_hash":-96679321,"text_dimensions":-1.20805005891418}],"distance":2,"perms":{"job":[{"grade":0,"name":"police"}]},"door_sound":"door_wooden.ogg","id":16},{"door_type":"single","location_group":"MRPD","secret":false,"lockpickable":false,"camera":false,"default_state":true,"door_name":"Armory 1","state":true,"door_data":[{"door_coords":{"x":479.750732421875,"y":-999.6290283203124,"z":30.7891674041748},"unique_id":"X9M8kOWTEb0YmaBzcPgIv","model_hash":-692649124,"text_dimensions":1.20310604572296}],"distance":2,"perms":{"job":[{"grade":0,"name":"police"}]},"door_sound":"door_metal.ogg","id":17},{"door_type":"single","location_group":"MRPD","secret":false,"lockpickable":false,"camera":false,"default_state":true,"door_name":"Armory 2","state":true,"door_data":[{"door_coords":{"x":487.4378356933594,"y":-1000.1892700195313,"z":30.78697204589843},"unique_id":"9oUlWPmnxrR3RuhPChXY6","model_hash":-692649124,"text_dimensions":1.20310604572296}],"distance":2,"perms":{"job":[{"grade":0,"name":"police"}]},"door_sound":"door_metal.ogg","id":18},{"door_type":"double","location_group":"MRPD","secret":false,"lockpickable":false,"camera":false,"default_state":true,"door_name":"Shooting Range","state":false,"door_data":[{"door_coords":{"x":485.61334228515627,"y":-1002.9019775390624,"z":30.78697204589843},"unique_id":"_QfDWiEmLAH1jLt0qlhL6","model_hash":-692649124,"text_dimensions":1.20310604572296},{"door_coords":{"x":488.0184326171875,"y":-1002.9019775390624,"z":30.78697204589843},"unique_id":"Rb7dYDxS0pOb-D7ADzBKq","model_hash":-692649124,"text_dimensions":1.20310604572296}],"distance":2,"perms":{"job":[{"grade":0,"name":"police"}]},"door_sound":"door_metal.ogg","id":19},{"door_type":"single","location_group":"MRPD","secret":false,"lockpickable":false,"camera":false,"default_state":true,"door_name":"Meeting Room 1","state":true,"door_data":[{"door_coords":{"x":459.9454040527344,"y":-990.705322265625,"z":35.1039810180664},"unique_id":"fiEQzFj8kz7GL--qajAgJ","model_hash":-96679321,"text_dimensions":-1.20805005891418}],"distance":2,"perms":{"job":[{"grade":0,"name":"police"}]},"door_sound":"door_regular.ogg","id":20},{"door_type":"single","location_group":"MRPD","secret":false,"lockpickable":false,"camera":false,"default_state":true,"door_name":"Meeting Room 2","state":false,"door_data":[{"door_coords":{"x":459.9454040527344,"y":-981.0741577148438,"z":35.1039810180664},"unique_id":"7bJcbtIcmGVhMEmUc8ZY7","model_hash":-1406685646,"text_dimensions":1.20805005891418}],"distance":2,"perms":{"job":[{"grade":0,"name":"police"}]},"door_sound":"door_regular.ogg","id":21},{"door_type":"single","location_group":"MRPD","secret":false,"lockpickable":false,"camera":false,"default_state":true,"door_name":"Training Room 1","state":true,"door_data":[{"door_coords":{"x":448.98681640625,"y":-981.5784912109376,"z":35.10376358032226},"unique_id":"rRtC_v_6XQZzNHyr07v1W","model_hash":-96679321,"text_dimensions":-1.20805005891418}],"distance":2,"perms":{"job":[{"grade":0,"name":"police"}]},"door_sound":"door_regular.ogg","id":22},{"door_type":"single","location_group":"MRPD","secret":false,"lockpickable":false,"camera":false,"default_state":true,"door_name":"Training Room 2","state":false,"door_data":[{"door_coords":{"x":448.98681640625,"y":-990.2007446289064,"z":35.10376358032226},"unique_id":"02dPFQ57bGIRkqfPgiNlJ","model_hash":-1406685646,"text_dimensions":1.20805005891418}],"distance":2,"perms":{"job":[{"grade":0,"name":"police"}]},"door_sound":"door_regular.ogg","id":23},{"door_type":"single","location_group":"MRPD","secret":false,"lockpickable":false,"camera":false,"default_state":true,"door_name":"Dispatch Center","state":false,"door_data":[{"door_coords":{"x":448.9845581054688,"y":-995.5263671875,"z":35.10376358032226},"unique_id":"pAlHomzuVVSSPWQ4pi0Lk","model_hash":-96679321,"text_dimensions":-1.20805005891418}],"distance":2,"perms":{"job":[{"grade":0,"name":"police"}]},"door_sound":"door_regular.ogg","id":24},{"door_type":"single","location_group":"MRPD","secret":false,"lockpickable":false,"camera":false,"default_state":true,"door_name":"Roof","state":false,"door_data":[{"door_coords":{"x":464.3085632324219,"y":-984.5284423828124,"z":43.771240234375},"unique_id":"qpMA6EPvPKz55eVEKKj1L","model_hash":-692649124,"text_dimensions":1.20310604572296}],"distance":2,"perms":{"job":[{"grade":0,"name":"police"}]},"door_sound":"door_metal.ogg","id":25},{"door_type":"double","location_group":"MRPD","secret":false,"lockpickable":false,"camera":false,"default_state":true,"door_name":"Basement Rooms","state":true,"door_data":[{"door_coords":{"x":471.3753051757813,"y":-985.0319213867188,"z":26.40548324584961},"unique_id":"0Ga8_Tbycmw0Ed8GuErzO","model_hash":-1406685646,"text_dimensions":1.20805005891418},{"door_coords":{"x":471.3753051757813,"y":-987.4373779296876,"z":26.40548324584961},"unique_id":"f-YDUjQwMpXq2ODY0BlMf","model_hash":-96679321,"text_dimensions":-1.20805005891418}],"distance":2,"perms":{"job":[{"grade":0,"name":"police"}]},"door_sound":"door_wooden.ogg","id":26},{"door_type":"single","location_group":"MRPD","secret":false,"lockpickable":false,"camera":true,"default_state":true,"door_name":"Evidence","state":false,"door_data":[{"door_coords":{"x":475.8323364257813,"y":-990.4839477539064,"z":26.40548324584961},"unique_id":"TRW-KfnKWzEfDoeNWxtMJ","model_hash":-692649124,"text_dimensions":1.20310604572296}],"distance":2,"perms":{"job":[{"grade":0,"name":"police"}]},"door_sound":"door_metal.ogg","id":27},{"door_type":"single","location_group":"MRPD","secret":false,"lockpickable":false,"camera":false,"default_state":true,"door_name":"Identification","state":false,"door_data":[{"door_coords":{"x":478.2891540527344,"y":-997.9100952148438,"z":26.40548324584961},"unique_id":"RMMjwypYyyU7ScG8PpBpj","model_hash":149284793,"text_dimensions":1.20805005891418}],"distance":2,"perms":{"job":[{"grade":0,"name":"police"}]},"door_sound":"door_regular.ogg","id":28},{"door_type":"single","location_group":"MRPD","secret":false,"door_sound":"door_regular.ogg","lockpickable":false,"default_state":true,"door_name":"Observation 1","state":true,"door_data":[{"door_coords":{"x":482.66943359375,"y":-983.98681640625,"z":26.40548324584961},"unique_id":"-ccVTX9YH2zNig5z0WL9M","model_hash":-1406685646,"text_dimensions":1.20805005891418}],"distance":2,"perms":{"job":[{"grade":0,"name":"police"}]},"id":29,"camera":false},{"door_type":"single","location_group":"MRPD","secret":false,"lockpickable":false,"camera":true,"default_state":true,"door_name":"Interrogation 1","state":true,"door_data":[{"door_coords":{"x":482.6701354980469,"y":-987.5791625976564,"z":26.40548324584961},"unique_id":"9r1_42eSNHqRMJiKfjM0K","model_hash":-1406685646,"text_dimensions":1.20805005891418}],"distance":2,"perms":{"job":[{"grade":0,"name":"police"}]},"door_sound":"door_regular.ogg","id":30},{"door_type":"single","location_group":"MRPD","secret":false,"lockpickable":false,"camera":true,"default_state":true,"door_name":"Observation 2","state":true,"door_data":[{"door_coords":{"x":482.669921875,"y":-992.2991333007813,"z":26.40548324584961},"unique_id":"pzyxL3A70gaP_qGyMm5fF","model_hash":-1406685646,"text_dimensions":1.20805005891418}],"distance":2,"perms":{"job":[{"grade":0,"name":"police"}]},"door_sound":"door_regular.ogg","id":31},{"door_type":"single","location_group":"MRPD","secret":false,"lockpickable":false,"camera":true,"default_state":true,"door_name":"Interrogation 2","state":true,"door_data":[{"door_coords":{"x":482.6702575683594,"y":-995.728515625,"z":26.40548324584961},"unique_id":"8EqMeXq_RENNcOCtSh2h5","model_hash":-1406685646,"text_dimensions":1.20805005891418}],"distance":2,"perms":{"job":[{"grade":0,"name":"police"}]},"door_sound":"door_regular.ogg","id":32},{"door_type":"double","location_group":"MRPD","secret":false,"lockpickable":false,"camera":true,"default_state":true,"door_name":"Cells","state":false,"door_data":[{"door_coords":{"x":482.0685729980469,"y":-997.9099731445313,"z":26.40650367736816},"unique_id":"Q9InABMInvGiCQsjywUXD","model_hash":149284793,"text_dimensions":1.20805005891418},{"door_coords":{"x":479.6637573242188,"y":-997.9099731445313,"z":26.40650367736816},"unique_id":"_mmOEGBEwaEa989AGSvnN","model_hash":149284793,"text_dimensions":1.20805005891418}],"distance":2,"perms":{"job":[{"grade":0,"name":"police"}]},"door_sound":"door_wooden.ogg","id":33},{"door_type":"single","location_group":"MRPD","secret":false,"lockpickable":false,"camera":true,"default_state":true,"door_name":"Lineup","state":true,"door_data":[{"door_coords":{"x":479.0599670410156,"y":-1003.1729736328124,"z":26.40650367736816},"unique_id":"cYRM9zwGkHrXRiR5cxZUu","model_hash":-288803980,"text_dimensions":1.20805005891418}],"distance":2,"perms":{"job":[{"grade":0,"name":"police"}]},"door_sound":"door_regular.ogg","id":34},{"door_type":"double","location_group":"MRPD","secret":false,"lockpickable":false,"camera":true,"default_state":true,"door_name":"Cells 2","state":true,"door_data":[{"door_coords":{"x":471.3678588867188,"y":-1007.7933959960938,"z":26.40548324584961},"unique_id":"mNY8BzkXyec9GEc9GdAY4","model_hash":149284793,"text_dimensions":1.20805005891418},{"door_coords":{"x":471.3758239746094,"y":-1010.1978759765624,"z":26.40548324584961},"unique_id":"hg0vY2z19pfyYDSir7SBy","model_hash":149284793,"text_dimensions":1.20805005891418}],"distance":2,"perms":{"job":[{"grade":0,"name":"police"}]},"door_sound":"door_wooden.ogg","id":35},{"door_type":"single","location_group":"MRPD","secret":false,"lockpickable":false,"camera":false,"default_state":true,"door_name":"Processing","state":true,"door_data":[{"door_coords":{"x":475.953857421875,"y":-1006.9378051757813,"z":26.40638542175293},"unique_id":"atCveh9iUQy640ONGKCmz","model_hash":-288803980,"text_dimensions":1.20805005891418}],"distance":2,"perms":{"job":[{"grade":0,"name":"police"}]},"door_sound":"door_regular.ogg","id":36},{"door_type":"single","location_group":"MRPD","secret":false,"lockpickable":false,"camera":false,"default_state":true,"door_name":"Mugshot","state":true,"door_data":[{"door_coords":{"x":475.953857421875,"y":-1010.8193359375,"z":26.40638542175293},"unique_id":"RKBwZSAOuvyxqsjTtrA4Z","model_hash":-1406685646,"text_dimensions":1.20805005891418}],"distance":2,"perms":{"job":[{"grade":0,"name":"police"}]},"door_sound":"door_regular.ogg","id":37},{"door_type":"single","location_group":"MRPD","secret":false,"lockpickable":false,"camera":true,"default_state":true,"door_name":"Cell Entrance 2","state":false,"door_data":[{"door_coords":{"x":476.6156921386719,"y":-1008.8754272460938,"z":26.48005485534668},"unique_id":"MvIg0-rf2jzB65op5Pfjc","model_hash":-53345114,"text_dimensions":-1.18245634309846}],"distance":2,"perms":{"job":[{"grade":0,"name":"police"}]},"door_sound":"door_metal.ogg","id":38},{"door_type":"single","location_group":"MRPD","secret":false,"lockpickable":false,"camera":true,"default_state":true,"door_name":"Cell Entrance 1","state":false,"door_data":[{"door_coords":{"x":481.00836181640627,"y":-1004.1179809570313,"z":26.48005485534668},"unique_id":"FvQEtpVMJkQwWMYATlgo-","model_hash":-53345114,"text_dimensions":-1.18245634309846}],"distance":2,"perms":{"job":[{"grade":0,"name":"police"}]},"door_sound":"door_metal.ogg","id":39},{"door_type":"single","location_group":"MRPD","secret":false,"lockpickable":false,"camera":true,"default_state":true,"door_name":"Cell Large","state":true,"door_data":[{"door_coords":{"x":484.1764221191406,"y":-1007.734375,"z":26.48005485534668},"unique_id":"3VfjFNBA1AAlTQc_kd_-l","model_hash":-53345114,"text_dimensions":-1.18245634309846}],"distance":2,"perms":{"job":[{"grade":0,"name":"police"}]},"door_sound":"door_metal.ogg","id":40},{"door_type":"single","location_group":"MRPD","secret":false,"lockpickable":false,"camera":true,"default_state":true,"door_name":"Cell 1","state":true,"door_data":[{"door_coords":{"x":486.9131164550781,"y":-1012.1886596679688,"z":26.48005485534668},"unique_id":"pmDdIDz1dHITg4a6momlw","model_hash":-53345114,"text_dimensions":-1.18245634309846}],"distance":2,"perms":{"job":[{"grade":0,"name":"police"}]},"door_sound":"door_metal.ogg","id":41},{"door_type":"single","location_group":"MRPD","secret":false,"lockpickable":false,"camera":true,"default_state":true,"door_name":"Cell 2","state":true,"door_data":[{"door_coords":{"x":483.9127197265625,"y":-1012.1886596679688,"z":26.48005485534668},"unique_id":"VMbcT2mjm2yCd_cHYtSQn","model_hash":-53345114,"text_dimensions":-1.18245634309846}],"distance":2,"perms":{"job":[{"grade":0,"name":"police"}]},"door_sound":"door_metal.ogg","id":42},{"door_type":"single","location_group":"MRPD","secret":false,"lockpickable":false,"camera":true,"default_state":true,"door_name":"Cell 3","state":true,"door_data":[{"door_coords":{"x":480.9128112792969,"y":-1012.1886596679688,"z":26.48005485534668},"unique_id":"1FPPa6DbtT-44T3mFxICP","model_hash":-53345114,"text_dimensions":-1.18245634309846}],"distance":2,"perms":{"job":[{"grade":0,"name":"police"}]},"door_sound":"door_metal.ogg","id":43},{"door_type":"single","location_group":"MRPD","secret":false,"lockpickable":false,"camera":true,"default_state":true,"door_name":"Cell 4","state":true,"door_data":[{"door_coords":{"x":477.91259765625,"y":-1012.1886596679688,"z":26.48005485534668},"unique_id":"zAX5VhN2UPXTUR5JgCsDQ","model_hash":-53345114,"text_dimensions":-1.18245634309846}],"distance":2,"perms":{"job":[{"grade":0,"name":"police"}]},"door_sound":"door_metal.ogg","id":44},{"door_type":"double","location_group":"MRPD","secret":false,"lockpickable":false,"camera":true,"default_state":true,"door_name":"Garage","state":false,"door_data":[{"door_coords":{"x":469.9273681640625,"y":-1000.543701171875,"z":26.40548324584961},"unique_id":"2RlkGqigg0rxTL4CNAdCj","model_hash":-288803980,"text_dimensions":1.20805005891418},{"door_coords":{"x":467.522216796875,"y":-1000.543701171875,"z":26.40548324584961},"unique_id":"j5uzQAGdmzdyHm4DXLMOI","model_hash":-288803980,"text_dimensions":1.20805005891418}],"distance":2,"perms":{"job":[{"grade":0,"name":"police"}]},"door_sound":"door_wooden.ogg","id":45},{"door_type":"double","location_group":"MRPD","secret":false,"lockpickable":false,"camera":true,"default_state":true,"door_name":"Parking Entrance Basement","state":false,"door_data":[{"door_coords":{"x":469.7742614746094,"y":-1014.406005859375,"z":26.48381614685058},"unique_id":"8TeZpB1uElVytX7C9BNNj","model_hash":-692649124,"text_dimensions":1.20310604572296},{"door_coords":{"x":467.3686218261719,"y":-1014.406005859375,"z":26.48381614685058},"unique_id":"0cPgXpFPAYSpD_4akvPcR","model_hash":-692649124,"text_dimensions":1.20310604572296}],"distance":2,"perms":{"job":[{"grade":0,"name":"police"}]},"door_sound":"door_metal.ogg","id":46},{"door_type":"single","location_group":"MRPD","secret":false,"lockpickable":false,"camera":false,"default_state":true,"door_name":"Underground Parking Door 1","state":true,"door_data":[{"door_coords":{"x":464.1565551757813,"y":-997.50927734375,"z":26.3707046508789},"unique_id":"rajED6skNW19HlHrIzYlS","model_hash":1830360419,"text_dimensions":1.20310604572296}],"distance":2,"perms":{"job":[{"grade":0,"name":"police"}]},"door_sound":"door_metal.ogg","id":47},{"door_type":"single","location_group":"MRPD","secret":false,"lockpickable":false,"camera":false,"default_state":true,"door_name":"Underground Parking Door 2","state":false,"door_data":[{"door_coords":{"x":464.1590576171875,"y":-974.6655883789064,"z":26.3707046508789},"unique_id":"DIWH1C3681BLZO8a77ZtJ","model_hash":1830360419,"text_dimensions":1.20310604572296}],"distance":2,"perms":{"job":[{"grade":0,"name":"police"}]},"door_sound":"door_metal.ogg","id":48},{"door_type":"garage","location_group":"MRPD","secret":false,"lockpickable":false,"camera":false,"default_state":true,"door_name":"Underground Parking 1","state":true,"door_data":[{"door_coords":{"x":452.3005065917969,"y":-999.6417846679688,"z":28.67484855651855},"unique_id":"JdC4m7MzJEcrNemCDpcFI","model_hash":2130672747,"text_dimensions":0}],"distance":10,"perms":{"job":[{"grade":0,"name":"police"}]},"door_sound":"door_switch.ogg","id":49},{"door_type":"garage","location_group":"MRPD","secret":false,"lockpickable":false,"camera":false,"default_state":true,"door_name":"Underground Parking 2","state":false,"door_data":[{"door_coords":{"x":431.4119262695313,"y":-1000.7716674804688,"z":26.69660949707031},"unique_id":"b7TYb5-62rrPecnXDmhyc","model_hash":2130672747,"text_dimensions":0}],"distance":10,"perms":{"job":[{"grade":0,"name":"police"}]},"door_sound":"door_switch.ogg","id":50},{"door_type":"garage","location_group":"MRPD","secret":false,"lockpickable":false,"camera":false,"default_state":true,"door_name":"Parking Garage 2","state":true,"door_data":[{"door_coords":{"x":459.5504150390625,"y":-1019.698974609375,"z":29.0887393951416},"unique_id":"M31A9PCr5rPFnkEky9gk4","model_hash":-190780785,"text_dimensions":0}],"distance":10,"perms":{"job":[{"grade":0,"name":"police"}]},"door_sound":"door_switch.ogg","id":51},{"door_type":"garage","location_group":"MRPD","secret":false,"lockpickable":false,"camera":false,"default_state":true,"door_name":"Parking Garage 1","state":false,"door_data":[{"door_coords":{"x":460.681884765625,"y":-1014.64599609375,"z":31.08801078796386},"unique_id":"PfQROwZMDOumoq-OXrZFu","model_hash":-190780785,"text_dimensions":0}],"distance":10,"perms":{"job":[{"grade":0,"name":"police"}]},"door_sound":"door_switch.ogg","id":52},{"door_type":"gates","location_group":"MRPD","secret":false,"lockpickable":false,"camera":false,"default_state":true,"door_name":"Bollards 1","state":true,"door_data":[{"door_coords":{"x":410.0257873535156,"y":-1020.1565551757813,"z":28.40199851989746},"unique_id":"x0IORlmUxoVKMDsQ6mXmh","model_hash":-1868050792,"text_dimensions":3.24277400970459}],"distance":10,"perms":{"job":[{"grade":0,"name":"police"}]},"door_sound":"door_switch.ogg","id":53},{"door_type":"gates","location_group":"MRPD","secret":false,"lockpickable":false,"camera":false,"default_state":true,"door_name":"Bollards 2","state":true,"door_data":[{"door_coords":{"x":410.0257873535156,"y":-1028.3189697265626,"z":28.41814613342285},"unique_id":"X3oEGxLIm--TQ4aUkubso","model_hash":-1635161509,"text_dimensions":-3.24277400970459}],"distance":10,"perms":{"job":[{"grade":0,"name":"police"}]},"door_sound":"door_switch.ogg","id":54},{"door_type":"gates","location_group":"MRPD","secret":false,"lockpickable":false,"camera":true,"default_state":true,"door_name":"Backside Gate","state":true,"door_data":[{"door_coords":{"x":488.8948059082031,"y":-1017.2119750976564,"z":27.14934921264648},"unique_id":"QdN8QnI4Nq0rpqpHjSCoS","model_hash":-1603817716,"text_dimensions":5.60141397640109}],"distance":10,"perms":{"job":[{"grade":0,"name":"police"}]},"door_sound":"door_switch.ogg","id":55},{"door_type":"double","location_group":"MRPD","secret":false,"lockpickable":false,"camera":true,"default_state":true,"door_name":"Underground Rooms","state":true,"door_data":[{"door_coords":{"x":479.0624084472656,"y":-985.0323486328124,"z":26.40548324584961},"unique_id":"rhSxyLlKtbUAEF46B3BiJ","model_hash":149284793,"text_dimensions":1.20805005891418},{"door_coords":{"x":479.0624084472656,"y":-987.4375610351564,"z":26.40548324584961},"unique_id":"jzyN3f7agGWa9nXwxiIPa","model_hash":149284793,"text_dimensions":1.20805005891418}],"distance":2,"perms":{"job":[{"grade":0,"name":"police"}]},"door_sound":"door_wooden.ogg","id":56}]} \ No newline at end of file diff --git a/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/ottos.json b/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/ottos.json new file mode 100644 index 000000000..014eccc30 --- /dev/null +++ b/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/ottos.json @@ -0,0 +1 @@ +{"name":"ottos.json","imported":false,"data":[{"id":1,"perms":{"job":[{"grade":0,"name":"mechanic"}],"identifier":[]},"location_group":"Ottos","door_data":[{"unique_id":"rd3mdjUsXSxXFHcw0A03W","model_hash":-147325430,"text_dimensions":1.29998779296875,"door_coords":{"x":823.7611694335938,"y":-828.9948120117188,"z":26.48237609863281}}],"door_name":"Entrance","secret":false,"state":true,"default_state":true,"door_sound":"door_metal.ogg","door_type":"single","lockpickable":false,"camera":true,"distance":2},{"id":2,"perms":{"job":[{"grade":0,"name":"mechanic"}],"identifier":[]},"location_group":"Ottos","door_data":[{"unique_id":"ESpAPioz9BlpV9upa5-59","model_hash":-147325430,"text_dimensions":1.29998779296875,"door_coords":{"x":830.6199340820313,"y":-829.0283813476563,"z":26.48237609863281}}],"door_name":"Office","secret":false,"state":true,"default_state":true,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"camera":true,"distance":2},{"id":3,"perms":{"job":[{"grade":0,"name":"mechanic"}],"identifier":[]},"location_group":"Ottos","door_data":[{"unique_id":"wJkGQIIHCEipcfVcKMFEp","model_hash":-147325430,"text_dimensions":1.29998779296875,"door_coords":{"x":829.9662475585938,"y":-824.6747436523438,"z":26.48237609863281}}],"door_name":"Waiting Room","secret":false,"state":true,"default_state":true,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"camera":true,"distance":2},{"id":4,"perms":{"job":[{"grade":0,"name":"mechanic"}],"identifier":[]},"location_group":"Ottos","door_data":[{"unique_id":"ERA4GtIBIqMTsVmP4vkmp","model_hash":-147325430,"text_dimensions":1.29998779296875,"door_coords":{"x":837.6531372070313,"y":-821.3134765625,"z":26.48237609863281}}],"door_name":"Storage","secret":false,"state":true,"default_state":true,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"camera":true,"distance":2},{"id":5,"perms":{"job":[{"grade":0,"name":"mechanic"}],"identifier":[]},"location_group":"Ottos","door_data":[{"unique_id":"Suwye6FJ7XtHdT2edLMtK","model_hash":263193286,"text_dimensions":1.31214696168899,"door_coords":{"x":840.5321044921875,"y":-820.5624389648438,"z":26.48237228393554}}],"door_name":"Rear Exit","secret":false,"state":true,"default_state":true,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"camera":true,"distance":2},{"id":6,"perms":{"job":[{"grade":0,"name":"mechanic"}],"identifier":[]},"location_group":"Ottos","door_data":[{"unique_id":"CsMP_tvQDcJhkExH7qw5-","model_hash":270330101,"text_dimensions":0,"door_coords":{"x":825.0067749023438,"y":-805.58203125,"z":29.43921279907226}}],"door_name":"Garage Door 1","secret":false,"state":true,"default_state":true,"door_sound":"door_switch.ogg","door_type":"garage","lockpickable":false,"camera":false,"distance":10},{"id":7,"perms":{"job":[{"grade":0,"name":"mechanic"}],"identifier":[]},"location_group":"Ottos","door_data":[{"unique_id":"UfALaDQF7r1flv3W8Ej6K","model_hash":270330101,"text_dimensions":0,"door_coords":{"x":825.0074462890625,"y":-812.9501953125,"z":29.43940734863281}}],"door_name":"Garage Door 2","secret":false,"state":true,"default_state":true,"door_sound":"door_switch.ogg","door_type":"garage","lockpickable":false,"camera":true,"distance":10},{"id":8,"perms":{"job":[{"grade":0,"name":"mechanic"}],"identifier":[]},"location_group":"Ottos","door_data":[{"unique_id":"gQLSOqW2aVljvm3AP4se-","model_hash":270330101,"text_dimensions":0,"door_coords":{"x":824.1458129882813,"y":-820.2709350585938,"z":28.85136795043945}}],"door_name":"Garage Door 3","secret":false,"state":true,"default_state":true,"door_sound":"door_switch.ogg","door_type":"garage","lockpickable":false,"camera":true,"distance":10},{"id":9,"perms":{"job":[{"name":"mechanic","grade":0}],"identifier":[]},"location_group":"Ottos","door_data":[{"model_hash":-147325430,"unique_id":"-oMGf824NhtKWtU9xvYXf","text_dimensions":1.29998779296875,"door_coords":{"x":800.3914794921875,"y":-824.3545532226563,"z":26.48451614379882}}],"door_name":"Office Building Entrance","default_state":true,"state":true,"camera":true,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"secret":false,"distance":2},{"id":10,"perms":{"job":[{"name":"mechanic","grade":0}],"identifier":[]},"location_group":"Ottos","door_data":[{"model_hash":-147325430,"unique_id":"84MCWpOBFyX5qr_79AjUR","text_dimensions":1.29998779296875,"door_coords":{"x":800.0899658203125,"y":-827.1211547851563,"z":26.48451614379882}}],"door_name":"Office Building Office","default_state":true,"state":true,"camera":true,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"secret":false,"distance":2},{"id":11,"perms":{"job":[{"name":"mechanic","grade":0}],"identifier":[]},"location_group":"Ottos","door_data":[{"model_hash":-147325430,"unique_id":"cErdpKBwfN26onl9-Uu8y","text_dimensions":1.29998779296875,"door_coords":{"x":802.2042236328125,"y":-829.1265258789063,"z":26.48451614379882}}],"door_name":"Office Building Toilet","default_state":true,"state":true,"camera":true,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"secret":false,"distance":2}]} \ No newline at end of file diff --git a/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/pacific_bank.json b/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/pacific_bank.json new file mode 100644 index 000000000..eab70bd73 --- /dev/null +++ b/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/pacific_bank.json @@ -0,0 +1 @@ +{"name":"pacific_bank.json","imported":false,"data":[{"id":69,"perms":{"job":[{"grade":0,"name":"police"}],"identifier":[]},"location_group":"Pacific Bank","door_data":[{"model_hash":1577691629,"unique_id":"9gcRH9dTgZsxcafo9Vl1T","text_dimensions":-1.30029294954071,"door_coords":{"x":231.50308227539066,"y":216.5134429931641,"z":106.430419921875}},{"model_hash":726025323,"unique_id":"6aMmPED5eklM55P3N2djH","text_dimensions":-1.30029294954071,"door_coords":{"x":232.60072326660157,"y":214.15638732910157,"z":106.430419921875}}],"door_name":"Main Entrance","default_state":false,"state":false,"secret":false,"door_sound":"door_wooden.ogg","door_type":"double","lockpickable":false,"camera":false,"distance":2},{"id":70,"perms":{"job":[{"grade":0,"name":"police"}],"identifier":[]},"location_group":"Pacific Bank","door_data":[{"model_hash":1352863520,"unique_id":"DQ2ELlfLEKKXGHwdqezqr","text_dimensions":-1.07681000232696,"door_coords":{"x":244.77554321289066,"y":227.24789428710936,"z":106.74524688720705}},{"model_hash":1352863520,"unique_id":"o4CGb-B7V7swGkJRhXNFe","text_dimensions":-1.07681000232696,"door_coords":{"x":244.03897094726566,"y":225.22415161132813,"z":106.74524688720705}}],"door_name":"Hall Entrance","default_state":false,"state":false,"secret":false,"door_sound":"door_wooden.ogg","door_type":"double","lockpickable":false,"camera":false,"distance":2},{"id":71,"perms":{"job":[{"grade":0,"name":"police"}],"identifier":[]},"location_group":"Pacific Bank","door_data":[{"model_hash":1721645826,"unique_id":"6DOcImAsmxoVqMCCAVB2g","text_dimensions":-1.31328999996185,"door_coords":{"x":252.789794921875,"y":213.75999450683598,"z":106.38217163085938}}],"door_name":"Office 1","default_state":false,"state":false,"secret":false,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"camera":false,"distance":2},{"id":72,"perms":{"job":[{"grade":0,"name":"police"}],"identifier":[]},"location_group":"Pacific Bank","door_data":[{"model_hash":1721645826,"unique_id":"7LgTqdys71f_mgUevG71E","text_dimensions":-1.31328999996185,"door_coords":{"x":262.1838684082031,"y":210.34088134765626,"z":106.38217163085938}}],"door_name":"Office 2","default_state":false,"state":false,"secret":false,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"camera":false,"distance":2},{"id":73,"perms":{"job":[{"grade":0,"name":"police"}],"identifier":[]},"location_group":"Pacific Bank","door_data":[{"model_hash":1721645826,"unique_id":"2g_JuFHa22-zS1PfYykWg","text_dimensions":-1.31328999996185,"door_coords":{"x":268.2106018066406,"y":226.95730590820313,"z":106.38217163085938}}],"door_name":"Office 3","default_state":false,"state":false,"secret":false,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"camera":false,"distance":2},{"id":74,"perms":{"job":[{"grade":0,"name":"police"}],"identifier":[]},"location_group":"Pacific Bank","door_data":[{"model_hash":1721645826,"unique_id":"AsMsRQz8d4ercV9tZM6Qt","text_dimensions":-1.31328999996185,"door_coords":{"x":258.8165283203125,"y":230.37640380859376,"z":106.38217163085938}}],"door_name":"Office 4","default_state":false,"state":false,"secret":false,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"camera":false,"distance":2},{"id":75,"perms":{"job":[{"grade":0,"name":"police"}],"identifier":[]},"location_group":"Pacific Bank","door_data":[{"model_hash":1721645826,"unique_id":"2H25ilitz3knLo4905pFW","text_dimensions":-1.31328999996185,"door_coords":{"x":258.8165283203125,"y":230.37640380859376,"z":110.280517578125}}],"door_name":"Office 5","default_state":false,"state":false,"secret":false,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"camera":false,"distance":2},{"id":76,"perms":{"job":[{"grade":0,"name":"police"}],"identifier":[]},"location_group":"Pacific Bank","door_data":[{"model_hash":1721645826,"unique_id":"sOkc-cALJgbvZ6Rayl6or","text_dimensions":-1.31328999996185,"door_coords":{"x":268.2106018066406,"y":226.95730590820313,"z":110.280517578125}}],"door_name":"Office 6","default_state":false,"state":false,"secret":false,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"camera":false,"distance":2},{"id":77,"perms":{"job":[{"grade":0,"name":"police"}],"identifier":[]},"location_group":"Pacific Bank","door_data":[{"model_hash":1721645826,"unique_id":"3xr936vQES39hjPVKZJ3g","text_dimensions":-1.31328999996185,"door_coords":{"x":262.1838684082031,"y":210.34088134765626,"z":110.280517578125}}],"door_name":"Office 7","default_state":false,"state":false,"secret":false,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"camera":false,"distance":2},{"id":78,"perms":{"job":[{"grade":0,"name":"police"}],"identifier":[]},"location_group":"Pacific Bank","door_data":[{"model_hash":1721645826,"unique_id":"rOjV-NLMjNukW7p1rOgQp","text_dimensions":-1.31328999996185,"door_coords":{"x":252.789794921875,"y":213.75999450683598,"z":110.280517578125}}],"door_name":"Office 8","default_state":false,"state":false,"secret":false,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"camera":false,"distance":2},{"id":79,"perms":{"job":[{"grade":0,"name":"police"}],"identifier":[]},"location_group":"Pacific Bank","door_data":[{"model_hash":1109357065,"unique_id":"KIR2TGzLjhQQEfAGUJuv_","text_dimensions":-1.05347001552581,"door_coords":{"x":272.47210693359377,"y":214.9072723388672,"z":110.280517578125}},{"model_hash":1109357065,"unique_id":"2q6xKyFJgS4vaVgqKumeO","text_dimensions":-1.05347001552581,"door_coords":{"x":273.1838989257813,"y":216.86282348632813,"z":110.280517578125}}],"door_name":"Main Office","default_state":false,"state":false,"secret":false,"door_sound":"door_wooden.ogg","door_type":"double","lockpickable":false,"camera":false,"distance":2},{"id":80,"perms":{"job":[{"grade":0,"name":"police"}],"identifier":[]},"location_group":"Pacific Bank","door_data":[{"model_hash":1577691629,"unique_id":"qT9YgyLpyj16TXBxoNwyL","text_dimensions":-1.30029294954071,"door_coords":{"x":273.8970336914063,"y":234.5862274169922,"z":123.9748077392578}},{"model_hash":726025323,"unique_id":"DPBlpktXUqLvsJNSGkNwZ","text_dimensions":-1.30029294954071,"door_coords":{"x":271.4532775878906,"y":235.4756774902344,"z":123.9748077392578}}],"door_name":"Roof Exit","default_state":false,"state":false,"secret":false,"door_sound":"door_wooden.ogg","door_type":"double","lockpickable":false,"camera":false,"distance":2},{"id":81,"perms":{"job":[{"grade":0,"name":"police"}],"identifier":[]},"location_group":"Pacific Bank","door_data":[{"model_hash":726025323,"unique_id":"0IMBwnWvnd0-CKGkl9-TG","text_dimensions":-1.30029294954071,"door_coords":{"x":267.3222961425781,"y":200.7542266845703,"z":106.44992065429688}},{"model_hash":1577691629,"unique_id":"j3jV9CSKJIBebGTXMipfG","text_dimensions":-1.30029294954071,"door_coords":{"x":264.8785095214844,"y":201.6436767578125,"z":106.44992065429688}}],"door_name":"Side Entrance","default_state":false,"state":false,"secret":false,"door_sound":"door_wooden.ogg","door_type":"double","lockpickable":false,"camera":false,"distance":2},{"id":82,"perms":{"job":[{"grade":0,"name":"police"}],"identifier":[]},"location_group":"Pacific Bank","door_data":[{"model_hash":267980221,"unique_id":"WUw41PrZS44tSZMt39MWs","text_dimensions":-1.31328999996185,"door_coords":{"x":272.79046630859377,"y":206.48045349121098,"z":106.38217163085938}}],"door_name":"Office Side Entrance","default_state":true,"state":true,"secret":false,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"camera":false,"distance":2},{"id":83,"perms":{"job":[{"grade":0,"name":"police"}],"identifier":[]},"location_group":"Pacific Bank","door_data":[{"model_hash":267980221,"unique_id":"GX6pLzdMep7D6xqZQ7jjK","text_dimensions":-1.31328999996185,"door_coords":{"x":272.79046630859377,"y":206.48045349121098,"z":110.280517578125}}],"door_name":"Upstairs Side 1","default_state":false,"state":false,"secret":false,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"camera":false,"distance":2},{"id":84,"perms":{"job":[{"grade":0,"name":"police"}],"identifier":[]},"location_group":"Pacific Bank","door_data":[{"model_hash":267980221,"unique_id":"gaA0xvf1uTXUbcsSy5gW0","text_dimensions":-1.31328999996185,"door_coords":{"x":277.5953063964844,"y":223.5415802001953,"z":110.2791748046875}}],"door_name":"Upstairs Side 2","default_state":false,"state":false,"secret":false,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"camera":false,"distance":2},{"id":85,"perms":{"job":[{"grade":0,"name":"police"}],"identifier":[]},"location_group":"Pacific Bank","door_data":[{"model_hash":267980221,"unique_id":"40XQ1bZircTiRuNP3pUF3","text_dimensions":-1.31328999996185,"door_coords":{"x":277.5953369140625,"y":223.5415802001953,"z":106.38043212890624}}],"door_name":"Staircase Side 1","default_state":false,"state":false,"secret":false,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"camera":false,"distance":2},{"id":86,"perms":{"job":[{"grade":0,"name":"police"}],"identifier":[]},"location_group":"Pacific Bank","door_data":[{"model_hash":-2121568016,"unique_id":"btZCXZdDSyPt3aTmDKWyW","text_dimensions":-1.06341004371643,"door_coords":{"x":251.51986694335936,"y":215.7131500244141,"z":106.37024688720705}}],"door_name":"Cashier Entrance Right","default_state":false,"state":false,"secret":false,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"camera":false,"distance":2},{"id":87,"perms":{"job":[{"grade":0,"name":"police"}],"identifier":[]},"location_group":"Pacific Bank","door_data":[{"model_hash":-2121568016,"unique_id":"ax3do6_-zW5e3m0aTEXHG","text_dimensions":-1.06341004371643,"door_coords":{"x":256.6068115234375,"y":229.6896209716797,"z":106.37024688720705}}],"door_name":"Cashier Entrance Left","default_state":false,"state":false,"secret":false,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"camera":false,"distance":2},{"id":88,"perms":{"job":[{"grade":0,"name":"police"}],"identifier":[]},"location_group":"Pacific Bank","door_data":[{"model_hash":-2121568016,"unique_id":"6k9gOnaW7Ep6bNRn9Po-Q","text_dimensions":-1.06341004371643,"door_coords":{"x":270.23065185546877,"y":221.26730346679688,"z":106.37024688720705}}],"door_name":"Cashier Entrance Middle Left","default_state":false,"state":false,"secret":false,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"camera":false,"distance":2},{"id":89,"perms":{"job":[{"grade":0,"name":"police"}],"identifier":[]},"location_group":"Pacific Bank","door_data":[{"model_hash":-2121568016,"unique_id":"IKK_z28io3aPeqUhi1yHf","text_dimensions":-1.06341004371643,"door_coords":{"x":267.3699645996094,"y":213.40798950195313,"z":106.37024688720705}}],"door_name":"Cashier Entrance Middle Right","default_state":false,"state":false,"secret":false,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"camera":false,"distance":2},{"id":90,"perms":{"job":[{"grade":0,"name":"police"}],"identifier":[]},"location_group":"Pacific Bank","door_data":[{"model_hash":409280169,"unique_id":"LiUQuhH9KYe8JaoYB-EMC","text_dimensions":-1.30127382278442,"door_coords":{"x":272.6421508789063,"y":219.89871215820313,"z":97.31797790527344}}],"door_name":"Basement Gate 1","default_state":true,"state":true,"secret":false,"door_sound":"door_metal.ogg","door_type":"single","lockpickable":false,"camera":false,"distance":2},{"id":91,"perms":{"job":[{"grade":0,"name":"police"}],"identifier":[]},"location_group":"Pacific Bank","door_data":[{"model_hash":409280169,"unique_id":"rP7aaCmP2sQduDKh1DFaW","text_dimensions":-1.30127382278442,"door_coords":{"x":270.10321044921877,"y":212.9229278564453,"z":97.31797790527344}}],"door_name":"Basement Gate 2","default_state":true,"state":true,"secret":false,"door_sound":"door_metal.ogg","door_type":"single","lockpickable":false,"camera":false,"distance":2},{"id":92,"perms":{"job":[{"grade":0,"name":"police"}],"identifier":[]},"location_group":"Pacific Bank","door_data":[{"model_hash":409280169,"unique_id":"gnw1saPurY3Ak-j9yPFCe","text_dimensions":-1.30127382278442,"door_coords":{"x":265.7790832519531,"y":225.86680603027345,"z":97.31797790527344}}],"door_name":"Basement Reception","default_state":false,"state":false,"secret":false,"door_sound":"door_metal.ogg","door_type":"single","lockpickable":false,"camera":false,"distance":2},{"id":93,"perms":{"job":[{"grade":0,"name":"police"}],"identifier":[]},"location_group":"Pacific Bank","door_data":[{"model_hash":409280169,"unique_id":"bg3s-1GZ07q9srBlLvTT5","text_dimensions":-1.30127382278442,"door_coords":{"x":256.4124450683594,"y":229.27593994140626,"z":97.31797790527344}}],"door_name":"Basement Door 1","default_state":true,"state":true,"secret":false,"door_sound":"door_metal.ogg","door_type":"single","lockpickable":false,"camera":false,"distance":2},{"id":94,"perms":{"job":[{"grade":0,"name":"police"}],"identifier":[]},"location_group":"Pacific Bank","door_data":[{"model_hash":409280169,"unique_id":"uYuRcRJHUlQPRB-EHdCbM","text_dimensions":-1.30127382278442,"door_coords":{"x":251.64984130859376,"y":216.19061279296876,"z":97.31797790527344}}],"door_name":"Basement Door 2","default_state":true,"state":true,"secret":false,"door_sound":"door_metal.ogg","door_type":"single","lockpickable":false,"camera":false,"distance":2},{"id":95,"perms":{"job":[{"grade":0,"name":"police"}],"identifier":[]},"location_group":"Pacific Bank","door_data":[{"model_hash":409280169,"unique_id":"wv_m_XdZ81_qICBE1ylUe","text_dimensions":-1.30127382278442,"door_coords":{"x":250.564208984375,"y":233.39938354492188,"z":97.31797790527344}}],"door_name":"Basement Door 3","default_state":true,"state":true,"secret":false,"door_sound":"door_metal.ogg","door_type":"single","lockpickable":false,"camera":false,"distance":2},{"id":96,"perms":{"job":[{"grade":0,"name":"police"}],"identifier":[]},"location_group":"Pacific Bank","door_data":[{"model_hash":409280169,"unique_id":"sixVPUAf15AgAt5BZ4gm8","text_dimensions":-1.30127382278442,"door_coords":{"x":244.55801391601566,"y":216.89727783203129,"z":97.31797790527344}}],"door_name":"Basement Door 4","default_state":true,"state":true,"secret":false,"door_sound":"door_metal.ogg","door_type":"single","lockpickable":false,"camera":false,"distance":2},{"id":97,"perms":{"job":[{"grade":0,"name":"police"}],"identifier":[]},"location_group":"Pacific Bank","door_data":[{"model_hash":643152522,"unique_id":"zujslrn8iMp6uaDlSW88k","text_dimensions":-1.1898258371927,"door_coords":{"x":229.89053344726566,"y":227.34201049804688,"z":97.323974609375}}],"door_name":"Safe Left","default_state":true,"state":true,"secret":false,"door_sound":"door_metal.ogg","door_type":"single","lockpickable":false,"camera":false,"distance":2},{"id":98,"perms":{"job":[{"grade":0,"name":"police"}],"identifier":[]},"location_group":"Pacific Bank","door_data":[{"model_hash":643152522,"unique_id":"q5iUxr-FacASYFx7h0zSa","text_dimensions":-1.1898258371927,"door_coords":{"x":225.6462860107422,"y":228.88677978515626,"z":97.323974609375}}],"door_name":"Safe Right","default_state":true,"state":true,"secret":false,"door_sound":"door_metal.ogg","door_type":"single","lockpickable":false,"camera":true,"distance":2}]} \ No newline at end of file diff --git a/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/paleto_bank.json b/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/paleto_bank.json new file mode 100644 index 000000000..55a1e4f73 --- /dev/null +++ b/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/paleto_bank.json @@ -0,0 +1 @@ +{"name":"paleto_bank.json","imported":false,"data":[{"id":1,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Paleto Bank","door_data":[{"unique_id":"jLHu9aevb7RYl_NmxCGOw","model_hash":2063730765,"text_dimensions":1.31868304149247,"door_coords":{"x":-110.64230346679688,"y":6462.0126953125,"z":31.79333686828613}}],"door_name":"Entrance","default_state":false,"state":false,"secret":false,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"camera":true,"distance":2},{"id":2,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Paleto Bank","door_data":[{"unique_id":"8-iprbPT34OZfgRyeJ_p4","model_hash":2110946875,"text_dimensions":1.31868304149247,"door_coords":{"x":-104.83712768554688,"y":6463.77392578125,"z":31.79334640502929}}],"door_name":"Loans 1","default_state":false,"state":false,"secret":false,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"camera":false,"distance":2},{"id":3,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Paleto Bank","door_data":[{"unique_id":"j088lUsWcYYhJVp22bXEc","model_hash":1754616769,"text_dimensions":1.31868304149247,"door_coords":{"x":-100.62174224853516,"y":6467.9892578125,"z":31.79334640502929}}],"door_name":"Loans 2","default_state":false,"state":false,"secret":false,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"camera":true,"distance":2},{"id":4,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Paleto Bank","door_data":[{"unique_id":"Gfndx0nW8QgkUBKuGDd6U","model_hash":-368548260,"text_dimensions":1.31868304149247,"door_coords":{"x":-104.70573425292968,"y":6473.91796875,"z":31.78798294067382}}],"door_name":"Administration","default_state":false,"state":false,"secret":false,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"camera":true,"distance":2},{"id":5,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Paleto Bank","door_data":[{"unique_id":"1C1Wzsg7blXw2rL1bleSh","model_hash":1248599813,"text_dimensions":-1.30158996913814,"door_coords":{"x":-116.51268768310549,"y":6478.9599609375,"z":31.78797912597656}}],"door_name":"Side Exit 1","default_state":true,"state":false,"secret":false,"door_sound":"door_metal.ogg","door_type":"single","lockpickable":false,"camera":true,"distance":2},{"id":6,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Paleto Bank","door_data":[{"unique_id":"Gikw4y6imHLK_nfyySOyN","model_hash":-56652918,"text_dimensions":1.31868304149247,"door_coords":{"x":-111.04269409179688,"y":6475.328125,"z":31.78797912597656}}],"door_name":"Back Rooms 1","default_state":false,"state":false,"secret":false,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"camera":true,"distance":2},{"id":7,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Paleto Bank","door_data":[{"unique_id":"zhuiD6XZVo0QipRaw9h5I","model_hash":1784650867,"text_dimensions":1.44222111906856,"door_coords":{"x":-112.57083129882813,"y":6468.0078125,"z":31.21414375305175}}],"door_name":"Reception","default_state":false,"state":false,"secret":true,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"camera":false,"distance":2},{"id":8,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Paleto Bank","door_data":[{"unique_id":"QOYQustiVHEI4oMdVURjp","model_hash":-147325430,"text_dimensions":1.29998779296875,"door_coords":{"x":-92.23223114013672,"y":6468.96044921875,"z":31.78797912597656}}],"door_name":"CCTV","default_state":true,"state":false,"secret":false,"door_sound":"door_metal.ogg","door_type":"single","lockpickable":false,"camera":true,"distance":2},{"id":9,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Paleto Bank","door_data":[{"unique_id":"H5xjprPhDo3w9m_HmaXnL","model_hash":1248599813,"text_dimensions":-1.30158996913814,"door_coords":{"x":-96.70865631103516,"y":6474.056640625,"z":31.78797912597656}}],"door_name":"Side Exit 2","default_state":true,"state":true,"secret":false,"door_sound":"door_metal.ogg","door_type":"single","lockpickable":false,"camera":true,"distance":2},{"id":10,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Paleto Bank","door_data":[{"unique_id":"fN4R0S7Z4DHdlX0gomOi-","model_hash":-147325430,"text_dimensions":1.29998779296875,"door_coords":{"x":-100.11229705810549,"y":6474.39208984375,"z":31.78797912597656}}],"door_name":"Back Rooms 2","default_state":true,"state":true,"secret":false,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"camera":true,"distance":2},{"id":11,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Paleto Bank","door_data":[{"unique_id":"FJsp7GipHJ0-drcU4Qz5P","model_hash":-2050208642,"text_dimensions":1.63406101614236,"door_coords":{"x":-100.24186706542968,"y":6464.54931640625,"z":31.88460350036621}}],"door_name":"Safe","default_state":true,"state":true,"secret":false,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"camera":true,"distance":2}]} \ No newline at end of file diff --git a/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/paleto_pd.json b/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/paleto_pd.json new file mode 100644 index 000000000..426572d87 --- /dev/null +++ b/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/paleto_pd.json @@ -0,0 +1 @@ +{"name":"paleto_pd.json","imported":false,"data":[{"id":117,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Paleto PD","door_data":[{"unique_id":"mYpSqW1QRuWQ5tqxWrGoI","model_hash":733214349,"text_dimensions":1.01486622495576,"door_coords":{"x":-437.1716918945313,"y":6012.947265625,"z":32.28851318359375}},{"unique_id":"9ngCkw8ePds1OvUKnWZr5","model_hash":965382714,"text_dimensions":1.01486622495576,"door_coords":{"x":-438.5865478515625,"y":6014.36181640625,"z":32.28851318359375}}],"door_name":"Entrance","default_state":true,"state":false,"secret":false,"door_sound":"door_wooden.ogg","door_type":"double","lockpickable":false,"camera":true,"distance":2},{"id":118,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Paleto PD","door_data":[{"unique_id":"mk45WGPeZjv5G7Z-AynQ4","model_hash":1362051455,"text_dimensions":1.1027676127851,"door_coords":{"x":-443.9599914550781,"y":6017.162109375,"z":32.28851318359375}}],"door_name":"Reception","default_state":true,"state":true,"secret":false,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"camera":false,"distance":2},{"id":119,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Paleto PD","door_data":[{"unique_id":"sQLpSpEf9Vf3oKPuVbp9Q","model_hash":1362051455,"text_dimensions":1.1027676127851,"door_coords":{"x":-446.6564025878906,"y":6003.453125,"z":32.28851318359375}},{"unique_id":"JfhGTD4tSNchc2OVYpT_b","model_hash":1857649811,"text_dimensions":1.08200624212622,"door_coords":{"x":-448.0712890625,"y":6004.8681640625,"z":32.28851318359375}}],"door_name":"Waiting room","default_state":true,"state":true,"secret":false,"door_sound":"door_wooden.ogg","door_type":"double","lockpickable":false,"camera":true,"distance":2},{"id":120,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Paleto PD","door_data":[{"unique_id":"Pf-bhzpf7hkcoVw62H0oA","model_hash":733214349,"text_dimensions":1.01486622495576,"door_coords":{"x":-454.9016723632813,"y":5998.0517578125,"z":32.28851318359375}},{"unique_id":"vGW-3HE1CJGTJXsgbiIB_","model_hash":965382714,"text_dimensions":1.01486622495576,"door_coords":{"x":-453.48675537109377,"y":5996.63720703125,"z":32.28851318359375}}],"door_name":"Rear entrance","default_state":true,"state":false,"secret":false,"door_sound":"door_wooden.ogg","door_type":"double","lockpickable":false,"camera":true,"distance":2},{"id":121,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Paleto PD","door_data":[{"unique_id":"4q57QSMOJjWFf6K2xIVhv","model_hash":1362051455,"text_dimensions":1.1027676127851,"door_coords":{"x":-451.4247131347656,"y":6003.42041015625,"z":32.28851318359375}},{"unique_id":"ENbLfISx0mnoQQ69Pmi57","model_hash":1857649811,"text_dimensions":1.08200624212622,"door_coords":{"x":-450.00982666015627,"y":6004.83544921875,"z":32.28851318359375}}],"door_name":"Stairs","default_state":true,"state":false,"secret":false,"door_sound":"door_wooden.ogg","door_type":"double","lockpickable":false,"camera":false,"distance":2},{"id":122,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Paleto PD","door_data":[{"unique_id":"iCJRnrxMGyRWxRi0uVrgu","model_hash":1362051455,"text_dimensions":1.1027676127851,"door_coords":{"x":-451.4247131347656,"y":6003.42041015625,"z":27.58121490478515}},{"unique_id":"X2nUvXFCliRn_Ap49V2C1","model_hash":1857649811,"text_dimensions":1.08200624212622,"door_coords":{"x":-450.00982666015627,"y":6004.83544921875,"z":27.58121490478515}}],"door_name":"Basement","default_state":true,"state":false,"secret":false,"door_sound":"door_wooden.ogg","door_type":"double","lockpickable":false,"camera":true,"distance":2},{"id":123,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Paleto PD","door_data":[{"unique_id":"n-PR99rI3sQSq2NaP-haM","model_hash":-594854737,"text_dimensions":-1.30000275373458,"door_coords":{"x":-443.6405029296875,"y":6006.97265625,"z":27.73100090026855}}],"door_name":"Cell area","default_state":true,"state":false,"secret":false,"door_sound":"door_metal.ogg","door_type":"single","lockpickable":false,"camera":true,"distance":2},{"id":124,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Paleto PD","door_data":[{"unique_id":"KKgeq1NyKdtVTGlV8k4zL","model_hash":-594854737,"text_dimensions":-1.30000275373458,"door_coords":{"x":-442.2433471679688,"y":6012.61962890625,"z":27.73100090026855}}],"door_name":"Cells","default_state":true,"state":false,"secret":false,"door_sound":"door_metal.ogg","door_type":"single","lockpickable":false,"camera":true,"distance":2},{"id":125,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Paleto PD","door_data":[{"unique_id":"_wZ5IVEmOpmb3eovtpILK","model_hash":-594854737,"text_dimensions":-1.30000275373458,"door_coords":{"x":-445.9456787109375,"y":6012.88037109375,"z":27.73100090026855}}],"door_name":"Cell Left 1","default_state":true,"state":true,"secret":false,"door_sound":"door_metal.ogg","door_type":"single","lockpickable":false,"camera":true,"distance":2},{"id":126,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Paleto PD","door_data":[{"unique_id":"MQmym_QiygS2EpwRruSzM","model_hash":-594854737,"text_dimensions":-1.30000275373458,"door_coords":{"x":-448.9160461425781,"y":6015.85107421875,"z":27.73100090026855}}],"door_name":"Cell Left 2","default_state":true,"state":true,"secret":false,"door_sound":"door_metal.ogg","door_type":"single","lockpickable":false,"camera":true,"distance":2},{"id":127,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Paleto PD","door_data":[{"unique_id":"MvQwhcHWFE2Dhuhr-gf7v","model_hash":-594854737,"text_dimensions":-1.30000275373458,"door_coords":{"x":-443.39007568359377,"y":6015.43603515625,"z":27.73100090026855}}],"door_name":"Cell Right 1","default_state":true,"state":true,"secret":false,"door_sound":"door_metal.ogg","door_type":"single","lockpickable":false,"camera":true,"distance":2},{"id":128,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Paleto PD","door_data":[{"unique_id":"T6wUp5LoM9EHpgjOcfWyD","model_hash":-594854737,"text_dimensions":-1.30000275373458,"door_coords":{"x":-446.3604431152344,"y":6018.40673828125,"z":27.73100090026855}}],"door_name":"Cell Right 2","default_state":true,"state":true,"secret":false,"door_sound":"door_metal.ogg","door_type":"single","lockpickable":false,"camera":true,"distance":2},{"id":129,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Paleto PD","door_data":[{"unique_id":"QBD5_1ByVgP6nnmLEzKWo","model_hash":1362051455,"text_dimensions":1.1027676127851,"door_coords":{"x":-443.0612182617188,"y":5999.8740234375,"z":27.58121490478515}}],"door_name":"Observation 1","default_state":true,"state":true,"secret":false,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"camera":false,"distance":2},{"id":130,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Paleto PD","door_data":[{"unique_id":"Vlojtwm21JO-kTrxtdz2m","model_hash":1362051455,"text_dimensions":1.1027676127851,"door_coords":{"x":-446.4799499511719,"y":5996.46875,"z":27.58121490478515}}],"door_name":"Observation 2","default_state":true,"state":true,"secret":false,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"camera":false,"distance":2},{"id":131,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Paleto PD","door_data":[{"unique_id":"Efe8JK1wk_QeEcFLKaclZ","model_hash":1362051455,"text_dimensions":1.1027676127851,"door_coords":{"x":-441.9415588378906,"y":5998.75439453125,"z":27.58121490478515}}],"door_name":"Interrogation 1","default_state":true,"state":true,"secret":false,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"camera":true,"distance":2},{"id":132,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Paleto PD","door_data":[{"unique_id":"IKDA2zrTFY5YwsDHDqi7O","model_hash":1362051455,"text_dimensions":1.1027676127851,"door_coords":{"x":-445.35357666015627,"y":5995.34228515625,"z":27.58121490478515}}],"door_name":"Interrogation 2","default_state":true,"state":true,"secret":false,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"camera":true,"distance":2},{"id":133,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Paleto PD","door_data":[{"unique_id":"wLepwfSvBihExyiAuaEsx","model_hash":1362051455,"text_dimensions":1.1027676127851,"door_coords":{"x":-449.5087890625,"y":5999.46826171875,"z":27.58121490478515}}],"door_name":"Mugshot","default_state":true,"state":true,"secret":false,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"camera":false,"distance":2},{"id":134,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Paleto PD","door_data":[{"unique_id":"e_LtqC05oJt0_L-VVRLIu","model_hash":1857649811,"text_dimensions":1.08200624212622,"door_coords":{"x":-450.00982666015627,"y":6004.83544921875,"z":36.99581527709961}},{"unique_id":"ttIj8z_FZj__WEbz0JN5f","model_hash":1362051455,"text_dimensions":1.1027676127851,"door_coords":{"x":-451.4247131347656,"y":6003.42041015625,"z":36.99581527709961}}],"door_name":"Upstairs","default_state":true,"state":false,"secret":false,"door_sound":"door_wooden.ogg","door_type":"double","lockpickable":false,"camera":true,"distance":2},{"id":135,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Paleto PD","door_data":[{"unique_id":"VinQMAArDcQHv84JSE2Io","model_hash":1362051455,"text_dimensions":1.1027676127851,"door_coords":{"x":-447.4444885253906,"y":6011.51220703125,"z":36.99581527709961}}],"door_name":"Armory","default_state":true,"state":true,"secret":false,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"camera":true,"distance":2},{"id":136,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Paleto PD","door_data":[{"unique_id":"XbP5HzVu2hrEqAxRH7_nX","model_hash":1362051455,"text_dimensions":1.1027676127851,"door_coords":{"x":-441.672607421875,"y":6009.1435546875,"z":36.99581527709961}}],"door_name":"Lockers","default_state":true,"state":true,"secret":false,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"camera":true,"distance":2},{"id":137,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Paleto PD","door_data":[{"unique_id":"m_x_eJ8N1jz1bVQzuh5x5","model_hash":899779172,"text_dimensions":1.21875433938112,"door_coords":{"x":-446.9224548339844,"y":6001.234375,"z":37.29659271240234}}],"door_name":"Office entrance 1","default_state":true,"state":true,"secret":false,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"camera":true,"distance":2},{"id":138,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Paleto PD","door_data":[{"unique_id":"Mvyb1pUHDJOKEay13o4s4","model_hash":899779172,"text_dimensions":1.21875433938112,"door_coords":{"x":-443.9523010253906,"y":6004.20458984375,"z":37.29659271240234}}],"door_name":"Office Entrance 2","default_state":true,"state":true,"secret":false,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"camera":true,"distance":2},{"id":139,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Paleto PD","door_data":[{"unique_id":"VVkHd9U8BOncuPIRULgvA","model_hash":1362051455,"text_dimensions":1.1027676127851,"door_coords":{"x":-437.1285400390625,"y":6004.658203125,"z":36.99581527709961}}],"door_name":"Sheriff","default_state":true,"state":true,"secret":false,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"camera":false,"distance":2},{"id":140,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Paleto PD","door_data":[{"unique_id":"NqTSiTleDgMipywzuVWoc","model_hash":1362051455,"text_dimensions":1.1027676127851,"door_coords":{"x":-449.6783752441406,"y":5999.3447265625,"z":36.99581527709961}}],"door_name":"Archive","default_state":true,"state":true,"secret":false,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"camera":false,"distance":2}]} \ No newline at end of file diff --git a/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/park_rangers.json b/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/park_rangers.json new file mode 100644 index 000000000..43242f10d --- /dev/null +++ b/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/park_rangers.json @@ -0,0 +1 @@ +{"name":"park_rangers.json","imported":false,"data":[{"id":1,"perms":{"job":[{"grade":0,"name":"police"}],"identifier":[]},"location_group":"Park Rangers","door_data":[{"unique_id":"3Xd5wg_yiIMXqzAFNc6dB","model_hash":-117185009,"text_dimensions":-1.29981100191804,"door_coords":{"x":387.7514953613281,"y":792.87109375,"z":187.84912109375}}],"door_name":"Downstairs Entrance","camera":true,"state":false,"secret":false,"door_sound":"door_metal.ogg","door_type":"single","lockpickable":false,"default_state":true,"distance":2},{"id":2,"perms":{"job":[{"grade":0,"name":"police"}],"identifier":[]},"location_group":"Park Rangers","door_data":[{"unique_id":"RpAepy1-JPSsn7EbwiVtj","model_hash":-117185009,"text_dimensions":-1.29981100191804,"door_coords":{"x":388.63128662109377,"y":799.6823120117188,"z":187.8262634277344}}],"door_name":"Downstairs Side Entrance","camera":true,"state":true,"secret":false,"door_sound":"door_metal.ogg","door_type":"single","lockpickable":false,"default_state":true,"distance":2},{"id":3,"perms":{"job":[{"grade":0,"name":"police"}],"identifier":[]},"location_group":"Park Rangers","door_data":[{"unique_id":"9yq7H3Mq2tPfBhWuWIln7","model_hash":517369125,"text_dimensions":-1.29981005191802,"door_coords":{"x":383.4079284667969,"y":798.2910766601563,"z":187.61181640625}}],"door_name":"Cells","camera":true,"state":false,"secret":false,"door_sound":"door_metal.ogg","door_type":"single","lockpickable":false,"default_state":true,"distance":2},{"id":4,"perms":{"job":[{"grade":0,"name":"police"}],"identifier":[]},"location_group":"Park Rangers","door_data":[{"unique_id":"E1gDu9ZR7sP5p22_3TE5x","model_hash":517369125,"text_dimensions":-1.29981005191802,"door_coords":{"x":382.9616088867188,"y":796.8286743164063,"z":187.61172485351566}}],"door_name":"Cell 1","camera":true,"state":true,"secret":false,"door_sound":"door_metal.ogg","door_type":"single","lockpickable":false,"default_state":true,"distance":2},{"id":5,"perms":{"job":[{"grade":0,"name":"police"}],"identifier":[]},"location_group":"Park Rangers","door_data":[{"unique_id":"dyze6oCzWYlGS0_Hed8ZA","model_hash":517369125,"text_dimensions":-1.29981005191802,"door_coords":{"x":378.75830078125,"y":796.83642578125,"z":187.6123046875}}],"door_name":"Cell 2","camera":true,"state":true,"secret":false,"door_sound":"door_metal.ogg","door_type":"single","lockpickable":false,"default_state":true,"distance":2},{"id":6,"perms":{"job":[{"grade":0,"name":"police"}],"identifier":[]},"location_group":"Park Rangers","door_data":[{"unique_id":"1P9fGUfX3fyNGBzC-icYe","model_hash":-117185009,"text_dimensions":-1.29981100191804,"door_coords":{"x":380.2174377441406,"y":792.7882690429688,"z":190.6414337158203}}],"door_name":"Upstairs Entrance","camera":true,"state":false,"secret":false,"door_sound":"door_metal.ogg","door_type":"single","lockpickable":false,"default_state":true,"distance":2},{"id":7,"perms":{"job":[{"grade":0,"name":"police"}],"identifier":[]},"location_group":"Park Rangers","door_data":[{"unique_id":"mkvXJc6cNcrVnjqRgNtxf","model_hash":1704212348,"text_dimensions":-1.29981100191804,"door_coords":{"x":384.3811950683594,"y":796.0927734375,"z":190.63963317871098}}],"door_name":"Office","camera":true,"state":true,"secret":false,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"default_state":true,"distance":2}]} \ No newline at end of file diff --git a/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/pillbox.json b/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/pillbox.json new file mode 100644 index 000000000..debda8b68 --- /dev/null +++ b/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/pillbox.json @@ -0,0 +1 @@ +{"name":"pillbox.json","imported":false,"data":[{"id":1,"perms":{"job":[{"grade":0,"name":"police"},{"grade":0,"name":"ems"}],"identifier":[]},"location_group":"Pillbox","door_data":[{"model_hash":854291622,"unique_id":"tiYeDB0T_h1-h_KaJLfel","text_dimensions":1.30290603637695,"door_coords":{"x":313.4800720214844,"y":-595.4583129882813,"z":43.43391036987305}}],"door_name":"Reception","default_state":true,"state":false,"secret":false,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"camera":true,"distance":2},{"id":2,"perms":{"job":[{"grade":0,"name":"police"},{"grade":0,"name":"ems"}],"identifier":[]},"location_group":"Pillbox","door_data":[{"model_hash":854291622,"unique_id":"C4mA_Ch16g5obbUhG8wUT","text_dimensions":1.30290603637695,"door_coords":{"x":309.13372802734377,"y":-597.75146484375,"z":43.43391036987305}}],"door_name":"Staff Room","default_state":true,"state":false,"secret":false,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"camera":false,"distance":2},{"id":3,"perms":{"job":[{"grade":0,"name":"police"},{"grade":0,"name":"ems"}],"identifier":[]},"location_group":"Pillbox","door_data":[{"model_hash":854291622,"unique_id":"rPZtgk7I0gMell5lhvFlm","text_dimensions":1.30290603637695,"door_coords":{"x":303.90869140625,"y":-596.5780029296875,"z":43.43391036987305}}],"door_name":"Cloakroom","default_state":true,"state":false,"secret":false,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"camera":false,"distance":2},{"id":4,"perms":{"job":[{"grade":0,"name":"police"},{"grade":0,"name":"ems"}],"identifier":[]},"location_group":"Pillbox","door_data":[{"model_hash":854291622,"unique_id":"QSfUmfZoo1hpq_65b2n_l","text_dimensions":1.30290603637695,"door_coords":{"x":298.9548034667969,"y":-594.7749633789063,"z":43.43391036987305}}],"door_name":"Restroom","default_state":true,"state":false,"secret":false,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"camera":false,"distance":2},{"id":5,"perms":{"job":[{"grade":0,"name":"police"},{"grade":0,"name":"ems"}],"identifier":[]},"location_group":"Pillbox","door_data":[{"model_hash":-434783486,"unique_id":"beNn5DgBugkLGT56NMxNl","text_dimensions":1.28710901737213,"door_coords":{"x":328.1364440917969,"y":-592.7760620117188,"z":43.43391036987305}},{"model_hash":-1700911976,"unique_id":"I5dY3cKejQ4haPf-WwA1j","text_dimensions":-1.28710901737213,"door_coords":{"x":327.2560119628906,"y":-595.1950073242188,"z":43.43391036987305}}],"door_name":"Ward D","default_state":true,"state":false,"secret":false,"door_sound":"door_regular.ogg","door_type":"double","lockpickable":false,"camera":true,"distance":2},{"id":6,"perms":{"job":[{"grade":0,"name":"police"},{"grade":0,"name":"ems"}],"identifier":[]},"location_group":"Pillbox","door_data":[{"model_hash":-434783486,"unique_id":"CjqekLj5w5k7AliSIetT7","text_dimensions":1.28710901737213,"door_coords":{"x":324.23602294921877,"y":-589.2261962890625,"z":43.43391036987305}},{"model_hash":-1700911976,"unique_id":"Ev4tXERoXT62wP-kVbQPm","text_dimensions":-1.28710901737213,"door_coords":{"x":326.6549987792969,"y":-590.1066284179688,"z":43.43391036987305}}],"door_name":"Ward B","default_state":false,"state":false,"secret":false,"door_sound":"door_regular.ogg","door_type":"double","lockpickable":false,"camera":true,"distance":2},{"id":7,"perms":{"job":[{"grade":0,"name":"ems"},{"grade":0,"name":"police"}],"identifier":[]},"location_group":"Pillbox","door_data":[{"model_hash":854291622,"unique_id":"soMG31C82Kk1jx05Q8o7X","text_dimensions":1.30290603637695,"door_coords":{"x":328.9761657714844,"y":-586.5975341796875,"z":43.43391036987305}}],"door_name":"Restroom B1","default_state":false,"state":false,"secret":false,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"camera":false,"distance":2},{"id":8,"perms":{"job":[{"grade":0,"name":"police"},{"grade":0,"name":"ems"}],"identifier":[]},"location_group":"Pillbox","door_data":[{"model_hash":854291622,"unique_id":"kRPNS7Y7cIJNHaoJT-PUL","text_dimensions":1.30290603637695,"door_coords":{"x":328.7010803222656,"y":-587.3118896484375,"z":43.43391036987305}}],"door_name":"Restroom B2","default_state":false,"state":false,"secret":false,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"camera":false,"distance":2},{"id":9,"perms":{"job":[{"grade":0,"name":"police"},{"grade":0,"name":"ems"}],"identifier":[]},"location_group":"Pillbox","door_data":[{"model_hash":854291622,"unique_id":"Gvq6ruGNnMUmBW1HP5bIH","text_dimensions":1.30290603637695,"door_coords":{"x":336.162841796875,"y":-580.1403198242188,"z":43.43391036987305}}],"door_name":"MRI B","default_state":true,"state":true,"secret":false,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"camera":true,"distance":2},{"id":10,"perms":{"job":[{"grade":0,"name":"police"},{"grade":0,"name":"ems"}],"identifier":[]},"location_group":"Pillbox","door_data":[{"model_hash":854291622,"unique_id":"-ujPtqiuk4lweZRN57Sn2","text_dimensions":1.30290603637695,"door_coords":{"x":339.0049743652344,"y":-586.703369140625,"z":43.43391036987305}}],"door_name":"Administration B","default_state":true,"state":true,"secret":false,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"camera":true,"distance":2},{"id":11,"perms":{"job":[{"grade":0,"name":"police"},{"grade":0,"name":"ems"}],"identifier":[]},"location_group":"Pillbox","door_data":[{"model_hash":854291622,"unique_id":"g76VHsWy5x9tNpDGbhu4h","text_dimensions":1.30290603637695,"door_coords":{"x":340.7818298339844,"y":-581.8214721679688,"z":43.43391036987305}}],"door_name":"Diagnostics B","default_state":true,"state":true,"secret":false,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"camera":true,"distance":2},{"id":12,"perms":{"job":[{"grade":0,"name":"police"},{"grade":0,"name":"ems"}],"identifier":[]},"location_group":"Pillbox","door_data":[{"model_hash":854291622,"unique_id":"h_DxYEJ72iapsWfYURp-Y","text_dimensions":1.30290603637695,"door_coords":{"x":346.77392578125,"y":-584.00244140625,"z":43.43391036987305}}],"door_name":"XRAY B","default_state":true,"state":true,"secret":false,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"camera":true,"distance":2},{"id":13,"perms":{"job":[{"grade":0,"name":"police"}],"identifier":[]},"location_group":"Pillbox","door_data":[{"model_hash":-434783486,"unique_id":"ga0v2TIKrUAY1ifM6JlLs","text_dimensions":1.28710901737213,"door_coords":{"x":349.3137512207031,"y":-586.3259887695313,"z":43.43391036987305}},{"model_hash":-1700911976,"unique_id":"r7dTWrYTeYhUTa5mu0QZz","text_dimensions":-1.28710901737213,"door_coords":{"x":348.4333190917969,"y":-588.7449951171875,"z":43.43391036987305}}],"door_name":"Ward C","default_state":true,"state":false,"secret":false,"door_sound":"door_regular.ogg","door_type":"double","lockpickable":false,"camera":true,"distance":2},{"id":14,"perms":{"job":[{"grade":0,"name":"police"},{"grade":0,"name":"ems"}],"identifier":[]},"location_group":"Pillbox","door_data":[{"model_hash":854291622,"unique_id":"95qGlQc8gIUipXlV3LpnL","text_dimensions":1.30290603637695,"door_coords":{"x":357.4907836914063,"y":-579.6105346679688,"z":43.43391036987305}}],"door_name":"Private 369 C","default_state":true,"state":false,"secret":false,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"camera":true,"distance":2},{"id":15,"perms":{"job":[{"grade":0,"name":"police"},{"grade":0,"name":"ems"}],"identifier":[]},"location_group":"Pillbox","door_data":[{"model_hash":854291622,"unique_id":"MSTWr88n8RjXhHJJanMn5","text_dimensions":1.30290603637695,"door_coords":{"x":356.12518310546877,"y":-583.3624877929688,"z":43.43391036987305}}],"door_name":"Private 370 C","default_state":true,"state":true,"secret":false,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"camera":true,"distance":2},{"id":16,"perms":{"job":[{"grade":0,"name":"police"},{"grade":0,"name":"ems"}],"identifier":[]},"location_group":"Pillbox","door_data":[{"model_hash":854291622,"unique_id":"hD_gkzg1-0rLwLvCNZ0v8","text_dimensions":1.30290603637695,"door_coords":{"x":352.1996765136719,"y":-594.1477661132813,"z":43.43391036987305}}],"door_name":"Dr Office 373 C","default_state":false,"state":false,"camera":true,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"secret":false,"distance":2},{"id":17,"perms":{"job":[{"grade":0,"name":"police"},{"grade":0,"name":"ems"}],"identifier":[]},"location_group":"Pillbox","door_data":[{"model_hash":854291622,"unique_id":"adjc4yqNcfl6_YGT2MC7O","text_dimensions":1.30290603637695,"door_coords":{"x":350.8340759277344,"y":-597.8997192382813,"z":43.43391036987305}}],"door_name":"Private 374 C","default_state":true,"state":true,"secret":false,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"camera":true,"distance":2},{"id":18,"perms":{"job":[{"grade":0,"name":"police"},{"grade":0,"name":"ems"}],"identifier":[]},"location_group":"Pillbox","door_data":[{"model_hash":854291622,"unique_id":"SoQ81UquSsbtKIEcRSeYj","text_dimensions":1.30290603637695,"door_coords":{"x":345.5199279785156,"y":-597.3519287109375,"z":43.43391036987305}}],"door_name":"Restroom C1","default_state":false,"state":false,"secret":false,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"camera":false,"distance":2},{"id":19,"perms":{"job":[{"grade":0,"name":"police"},{"grade":0,"name":"ems"}],"identifier":[]},"location_group":"Pillbox","door_data":[{"model_hash":854291622,"unique_id":"URMWFFdyK9BFdGQ_CheEF","text_dimensions":1.30290603637695,"door_coords":{"x":346.885498046875,"y":-593.5999755859375,"z":43.43391036987305}}],"door_name":"Treatment C","default_state":true,"state":true,"secret":false,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"camera":true,"distance":2},{"id":20,"perms":{"job":[{"grade":0,"name":"police"},{"grade":0,"name":"ems"}],"identifier":[]},"location_group":"Pillbox","door_data":[{"model_hash":854291622,"unique_id":"NSto3RXUfjxYtkY0TmlUT","text_dimensions":1.30290603637695,"door_coords":{"x":358.7265319824219,"y":-593.8814086914063,"z":43.43391036987305}}],"door_name":"Dr Office 372 C","default_state":true,"state":false,"secret":false,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"camera":true,"distance":2},{"id":21,"perms":{"job":[{"grade":0,"name":"police"},{"grade":0,"name":"ems"}],"identifier":[]},"location_group":"Pillbox","door_data":[{"model_hash":854291622,"unique_id":"kgPlgnvn-PbXi4t5djXYw","text_dimensions":1.30290603637695,"door_coords":{"x":360.5033874511719,"y":-588.99951171875,"z":43.43391036987305}}],"door_name":"Patient 371 C","default_state":true,"state":true,"secret":false,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"camera":true,"distance":2},{"id":22,"perms":{"job":[{"grade":0,"name":"police"},{"grade":0,"name":"ems"}],"identifier":[]},"location_group":"Pillbox","door_data":[{"model_hash":-1700911976,"unique_id":"1mWtFa2Whxh3B1rhFiAHS","text_dimensions":-1.28710901737213,"door_coords":{"x":305.22186279296877,"y":-582.3056030273438,"z":43.43391036987305}},{"model_hash":-434783486,"unique_id":"2PtsE7pHaSV_DgCnsAAwB","text_dimensions":1.28710901737213,"door_coords":{"x":302.8030700683594,"y":-581.424560546875,"z":43.43391036987305}}],"door_name":"Ward A","default_state":false,"state":false,"secret":false,"door_sound":"door_regular.ogg","door_type":"double","lockpickable":false,"camera":true,"distance":2},{"id":23,"perms":{"job":[{"grade":0,"name":"police"},{"grade":0,"name":"ems"}],"identifier":[]},"location_group":"Pillbox","door_data":[{"model_hash":854291622,"unique_id":"zA-40XVQDVal_mjYtwIGu","text_dimensions":1.30290603637695,"door_coords":{"x":303.9596252441406,"y":-572.5579223632813,"z":43.43391036987305}}],"door_name":"Closet A","default_state":true,"state":true,"secret":false,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"camera":true,"distance":2},{"id":24,"perms":{"job":[{"grade":0,"name":"police"}],"identifier":[]},"location_group":"Pillbox","door_data":[{"model_hash":854291622,"unique_id":"HJUgIzG56x53st0ROTNfn","text_dimensions":1.30290603637695,"door_coords":{"x":307.1181945800781,"y":-569.5689697265625,"z":43.43391036987305}}],"door_name":"Laboratory A","default_state":true,"state":false,"secret":false,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"camera":true,"distance":2},{"id":25,"perms":{"job":[{"grade":0,"name":"police"},{"grade":0,"name":"ems"}],"identifier":[]},"location_group":"Pillbox","door_data":[{"model_hash":-434783486,"unique_id":"A22ny6kdpXpNk82jXPkP4","text_dimensions":1.28710901737213,"door_coords":{"x":312.005126953125,"y":-571.3411865234375,"z":43.43391036987305}},{"model_hash":-1700911976,"unique_id":"wyGfehIipTu5EUwkvyRvJ","text_dimensions":-1.28710901737213,"door_coords":{"x":314.4241027832031,"y":-572.2215576171875,"z":43.43391036987305}}],"door_name":"Surgery 1A","default_state":true,"state":true,"camera":true,"door_sound":"door_regular.ogg","door_type":"double","lockpickable":false,"secret":false,"distance":2},{"id":26,"perms":{"job":[{"grade":0,"name":"police"}],"identifier":[]},"location_group":"Pillbox","door_data":[{"model_hash":-1700911976,"unique_id":"GpmLJPgrKv_RYu7jOvTwS","text_dimensions":-1.28710901737213,"door_coords":{"x":316.0657043457031,"y":-578.3477172851563,"z":43.43391036987305}},{"model_hash":-434783486,"unique_id":"U6FX4CpIRvhP8Mtjprmdw","text_dimensions":1.28710901737213,"door_coords":{"x":318.4846801757813,"y":-579.2281494140625,"z":43.43391036987305}}],"door_name":"Intensive Care A","default_state":false,"state":false,"secret":false,"door_sound":"door_regular.ogg","door_type":"double","lockpickable":false,"camera":true,"distance":2},{"id":27,"perms":{"job":[{"grade":0,"name":"police"},{"grade":0,"name":"ems"}],"identifier":[]},"location_group":"Pillbox","door_data":[{"model_hash":-434783486,"unique_id":"Cb0ITJgFoqVp1RTGSB-3X","text_dimensions":1.28710901737213,"door_coords":{"x":323.237548828125,"y":-575.429443359375,"z":43.43391036987305}},{"model_hash":-1700911976,"unique_id":"bgqmxw4r3xscf7XSKvuun","text_dimensions":-1.28710901737213,"door_coords":{"x":325.6565246582031,"y":-576.3099365234375,"z":43.43391036987305}}],"door_name":"Surgery 2A","default_state":true,"state":true,"secret":false,"door_sound":"door_regular.ogg","door_type":"double","lockpickable":false,"camera":true,"distance":2},{"id":28,"perms":{"job":[{"grade":0,"name":"police"},{"grade":0,"name":"ems"}],"identifier":[]},"location_group":"Pillbox","door_data":[{"model_hash":-434783486,"unique_id":"6avTRzfuDCBt0A7m7OMSZ","text_dimensions":1.28710901737213,"door_coords":{"x":348.9818420410156,"y":-583.9497680664063,"z":28.94709205627441}},{"model_hash":-1700911976,"unique_id":"penACbbCDeAEVMdwpRRfd","text_dimensions":-1.28710901737213,"door_coords":{"x":349.8607482910156,"y":-581.5304565429688,"z":28.94709205627441}}],"door_name":"Hallway 1","default_state":false,"state":false,"secret":false,"door_sound":"door_regular.ogg","door_type":"double","lockpickable":false,"camera":true,"distance":2},{"id":29,"perms":{"job":[{"grade":0,"name":"police"},{"grade":0,"name":"ems"}],"identifier":[]},"location_group":"Pillbox","door_data":[{"model_hash":-434783486,"unique_id":"W4mRjSJH9OUkE4WcsnYc1","text_dimensions":1.28710901737213,"door_coords":{"x":345.789794921875,"y":-592.7227172851563,"z":28.94709205627441}},{"model_hash":-1700911976,"unique_id":"U2CKhzEcIb0jQdlkClL8t","text_dimensions":-1.28710901737213,"door_coords":{"x":346.6690063476563,"y":-590.3026733398438,"z":28.94709205627441}}],"door_name":"Hallway 2","default_state":true,"state":true,"secret":false,"door_sound":"door_regular.ogg","door_type":"double","lockpickable":false,"camera":true,"distance":2},{"id":30,"perms":{"job":[{"grade":0,"name":"police"},{"grade":0,"name":"ems"}],"identifier":[]},"location_group":"Pillbox","door_data":[{"model_hash":-434783486,"unique_id":"v5uHuJBPUFsS7nsKJLDNV","text_dimensions":1.28710901737213,"door_coords":{"x":338.4466552734375,"y":-590.052978515625,"z":28.94709205627441}},{"model_hash":-1700911976,"unique_id":"81zbfo89AbvZPlX_1wKIZ","text_dimensions":-1.28710901737213,"door_coords":{"x":339.32659912109377,"y":-587.634521484375,"z":28.94709205627441}}],"door_name":"Garage","default_state":true,"state":false,"secret":false,"door_sound":"door_regular.ogg","door_type":"double","lockpickable":false,"camera":true,"distance":2},{"id":31,"perms":{"job":[{"grade":0,"name":"police"},{"grade":0,"name":"ems"}],"identifier":[]},"location_group":"Pillbox","door_data":[{"model_hash":-1421582160,"unique_id":"B7NFWHbxnh6L44p7omQGI","text_dimensions":-1.30159056186676,"door_coords":{"x":321.01483154296877,"y":-559.9127197265625,"z":28.94723892211914}},{"model_hash":1248599813,"unique_id":"WIO4P4bIGJ4fvsdCSKTmo","text_dimensions":-1.30158996913814,"door_coords":{"x":318.6656188964844,"y":-561.0086059570313,"z":28.94723892211914}}],"door_name":"Garage Exit","default_state":true,"state":false,"secret":false,"door_sound":"door_regular.ogg","door_type":"double","lockpickable":false,"camera":true,"distance":2},{"id":32,"perms":{"job":[{"grade":0,"name":"police"},{"grade":0,"name":"ems"}],"identifier":[]},"location_group":"Pillbox","door_data":[{"model_hash":-820650556,"unique_id":"QyOU3ahXSFWFXCNt-IjP3","text_dimensions":0,"door_coords":{"x":329.7497253417969,"y":-562.891845703125,"z":31.75255966186523}}],"door_name":"Garage Door 1","default_state":true,"state":true,"secret":false,"door_sound":"door_switch.ogg","door_type":"garage","lockpickable":false,"camera":true,"distance":10},{"id":33,"perms":{"job":[{"grade":0,"name":"police"},{"grade":0,"name":"ems"}],"identifier":[]},"location_group":"Pillbox","door_data":[{"model_hash":-820650556,"unique_id":"D8dY74HEw2TeF5VkXZ8Sf","text_dimensions":0,"door_coords":{"x":337.28314208984377,"y":-564.4170532226563,"z":29.84545516967773}}],"door_name":"Garage Door 2","default_state":true,"state":true,"secret":false,"door_sound":"door_switch.ogg","door_type":"garage","lockpickable":false,"camera":true,"distance":10},{"id":34,"perms":{"job":[{"grade":0,"name":"police"},{"grade":0,"name":"ems"}],"identifier":[]},"location_group":"Pillbox","door_data":[{"model_hash":854291622,"unique_id":"mUIM-yO3hV3Y7pILE-J7A","text_dimensions":1.30290603637695,"door_coords":{"x":348.5466918945313,"y":-585.158447265625,"z":28.94709205627441}}],"door_name":"Reception","default_state":true,"state":true,"secret":false,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"camera":true,"distance":2}]} \ No newline at end of file diff --git a/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/pizzeria.json b/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/pizzeria.json new file mode 100644 index 000000000..8d7e123dd --- /dev/null +++ b/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/pizzeria.json @@ -0,0 +1 @@ +{"name":"pizzeria.json","imported":false,"data":[{"id":1,"perms":{"job":[{"grade":0,"name":"police"}],"identifier":[]},"location_group":"Pizzeria","door_data":[{"model_hash":95403626,"unique_id":"FvjalE0l4xr-QI_hv1GsE","text_dimensions":1.19135439660749,"door_coords":{"x":794.2511596679688,"y":-757.061767578125,"z":27.02702140808105}},{"model_hash":-49173194,"unique_id":"_8XQZ_E6Qj72Y9GMwZkTz","text_dimensions":-1.19135454660863,"door_coords":{"x":794.2511596679688,"y":-759.4415283203125,"z":27.02702140808105}}],"door_name":"Entrance","secret":false,"state":true,"default_state":true,"door_sound":"door_wooden.ogg","door_type":"double","lockpickable":false,"camera":true,"distance":2},{"id":2,"perms":{"job":[{"grade":0,"name":"police"}],"identifier":[]},"location_group":"Pizzeria","door_data":[{"model_hash":-49173194,"unique_id":"pOgtQpOu6a6HyZv-s6WKk","text_dimensions":-1.19135454660863,"door_coords":{"x":803.2781982421875,"y":-747.9281616210938,"z":27.02702140808105}},{"model_hash":95403626,"unique_id":"YxJ4GOxaTv8ee7hk6NLi5","text_dimensions":1.19135439660749,"door_coords":{"x":805.657958984375,"y":-747.9281616210938,"z":27.02702140808105}}],"door_name":"Garden Entrance","secret":false,"state":true,"default_state":true,"door_sound":"door_wooden.ogg","door_type":"double","lockpickable":false,"camera":true,"distance":2},{"id":3,"perms":{"job":[{"grade":0,"name":"police"}],"identifier":[]},"location_group":"Pizzeria","door_data":[{"model_hash":1984391163,"unique_id":"1fx_mdk1rpXjKPBqSXSbD","text_dimensions":-1.2905197138898,"door_coords":{"x":810.4091796875,"y":-756.2732543945313,"z":26.93464088439941}}],"door_name":"Kitchen","secret":false,"state":false,"default_state":true,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"camera":true,"distance":2},{"id":4,"perms":{"job":[{"grade":0,"name":"police"}],"identifier":[]},"location_group":"Pizzeria","door_data":[{"model_hash":-357301147,"unique_id":"KcLPfzHhkmRae53WJf2Xm","text_dimensions":-1.65760004520416,"door_coords":{"x":805.2612915039063,"y":-758.6717529296875,"z":25.79215812683105}}],"door_name":"Freezer","secret":false,"state":false,"default_state":true,"door_sound":"door_switch.ogg","door_type":"gates","lockpickable":false,"camera":true,"distance":10},{"id":5,"perms":{"job":[{"grade":0,"name":"police"}],"identifier":[]},"location_group":"Pizzeria","door_data":[{"model_hash":1984391163,"unique_id":"AN2_QMYZ500VNm99BRdkp","text_dimensions":-1.2905197138898,"door_coords":{"x":806.2781372070313,"y":-765.8098754882813,"z":26.93464088439941}}],"door_name":"Basement","secret":false,"state":false,"default_state":true,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"camera":true,"distance":2},{"id":6,"perms":{"job":[{"grade":0,"name":"police"}],"identifier":[]},"location_group":"Pizzeria","door_data":[{"model_hash":-420112688,"unique_id":"qd0y5HGyPiqkQ390rca0X","text_dimensions":-1.3219967666082,"door_coords":{"x":814.5675048828125,"y":-762.8239135742188,"z":27.04651069641113}}],"door_name":"Rear Exit","secret":false,"state":false,"default_state":true,"door_sound":"","door_type":"single","lockpickable":false,"camera":true,"distance":2},{"id":7,"perms":{"job":[{"grade":0,"name":"police"}],"identifier":[]},"location_group":"Pizzeria","door_data":[{"model_hash":1984391163,"unique_id":"Q9WxNICnpHoQIKfD1qWZK","text_dimensions":-1.2905197138898,"door_coords":{"x":804.4857788085938,"y":-767.697509765625,"z":31.41847038269043}}],"door_name":"Staff Rooms","secret":false,"state":false,"default_state":true,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"camera":true,"distance":2},{"id":8,"perms":{"job":[{"grade":0,"name":"police"}],"identifier":[]},"location_group":"Pizzeria","door_data":[{"model_hash":1984391163,"unique_id":"_pqBxdL5kcm6OXYhUo5Hg","text_dimensions":-1.2905197138898,"door_coords":{"x":806.8858032226563,"y":-764.5674438476563,"z":31.41847038269043}}],"door_name":"Lockers","secret":false,"state":true,"default_state":true,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"camera":false,"distance":2},{"id":9,"perms":{"job":[{"grade":0,"name":"police"}],"identifier":[]},"location_group":"Pizzeria","door_data":[{"model_hash":1984391163,"unique_id":"zJHlhhiqfdPUlvVavxul7","text_dimensions":-1.2905197138898,"door_coords":{"x":797.4042358398438,"y":-758.2521362304688,"z":31.41847038269043}}],"door_name":"CEO","secret":false,"state":true,"default_state":true,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"camera":false,"distance":2},{"id":10,"perms":{"job":[{"grade":0,"name":"police"}],"identifier":[]},"location_group":"Pizzeria","door_data":[{"model_hash":1984391163,"unique_id":"_r1oTe6bWkHZSdqdn2t9z","text_dimensions":-1.2905197138898,"door_coords":{"x":798.6846923828125,"y":-763.3290405273438,"z":31.41847038269043}}],"door_name":"Office","secret":false,"state":true,"default_state":true,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"camera":false,"distance":2},{"id":11,"perms":{"job":[{"grade":0,"name":"police"}],"identifier":[]},"location_group":"Pizzeria","door_data":[{"model_hash":1984391163,"unique_id":"DV2CdTBsz4uNYFU969SKX","text_dimensions":-1.2905197138898,"door_coords":{"x":811.9174194335938,"y":-762.4280395507813,"z":26.93464088439941}}],"door_name":"Upstairs","secret":false,"state":true,"default_state":true,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"camera":false,"distance":2},{"id":12,"perms":{"job":[{"grade":0,"name":"police"}],"identifier":[]},"location_group":"Pizzeria","door_data":[{"model_hash":1984391163,"unique_id":"RZsRUKJ7weo8c41pA3p1Q","text_dimensions":-1.2905197138898,"door_coords":{"x":800.4144897460938,"y":-763.9931640625,"z":26.93464088439941}}],"door_name":"WC Gents","secret":false,"state":true,"default_state":true,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"camera":false,"distance":2},{"id":13,"perms":{"job":[{"grade":0,"name":"police"}],"identifier":[]},"location_group":"Pizzeria","door_data":[{"model_hash":1984391163,"unique_id":"WLh6LCOpMGdlice1yyMU1","text_dimensions":-1.2905197138898,"door_coords":{"x":800.4030151367188,"y":-765.0847778320313,"z":26.93464088439941}}],"door_name":"WC Ladies","secret":false,"state":false,"default_state":false,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"camera":false,"distance":2}]} \ No newline at end of file diff --git a/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/ponsonbys.json b/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/ponsonbys.json new file mode 100644 index 000000000..0a055ec58 --- /dev/null +++ b/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/ponsonbys.json @@ -0,0 +1 @@ +{"name":"ponsonbys.json","imported":false,"data":[{"id":1,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Ponsonbys","door_data":[{"model_hash":-1922281023,"unique_id":"Ay7SNjxZgGgDEt5URvjPc","text_dimensions":-1.05936599581036,"door_coords":{"x":-716.6500244140625,"y":-155.41656494140626,"z":37.68999099731445}},{"model_hash":-1922281023,"unique_id":"_TLVYXkcQOt1eN3Mw38Hg","text_dimensions":-1.05936599581036,"door_coords":{"x":-715.5914306640625,"y":-157.25010681152345,"z":37.68999099731445}}],"door_name":"Entrance","secret":false,"state":false,"default_state":false,"door_sound":"door_metal.ogg","door_type":"double","lockpickable":false,"camera":true,"distance":2},{"id":2,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Ponsonbys","door_data":[{"model_hash":-1922281023,"unique_id":"G2f7V8cfDKFGK1OyoZZqA","text_dimensions":-1.05936599581036,"door_coords":{"x":-156.45928955078126,"y":-304.4152526855469,"z":40.00812911987305}},{"model_hash":-1922281023,"unique_id":"TNcHL8oOSnIqtAmvRAsWB","text_dimensions":-1.05936599581036,"door_coords":{"x":-157.14859008789066,"y":-306.4170837402344,"z":40.00812911987305}}],"door_name":"Entrance 2","secret":false,"state":false,"camera":true,"door_sound":"door_metal.ogg","door_type":"double","lockpickable":false,"default_state":false,"distance":2},{"id":3,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Ponsonbys","door_data":[{"model_hash":-1922281023,"unique_id":"GLboSamYTJI2pdDIMwUIG","text_dimensions":-1.05936599581036,"door_coords":{"x":-1454.7708740234376,"y":-231.81578063964845,"z":50.07158660888672}},{"model_hash":-1922281023,"unique_id":"zuZIvxMdXbcRag9I5VGmF","text_dimensions":-1.05936599581036,"door_coords":{"x":-1456.1876220703126,"y":-233.3890380859375,"z":50.07158279418945}}],"door_name":"Entrance 3","secret":false,"state":false,"default_state":false,"door_sound":"door_metal.ogg","door_type":"double","lockpickable":false,"camera":true,"distance":2}]} \ No newline at end of file diff --git a/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/pops_diner.json b/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/pops_diner.json new file mode 100644 index 000000000..8b1301d10 --- /dev/null +++ b/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/pops_diner.json @@ -0,0 +1 @@ +{"name":"pops_diner.json","imported":false,"data":[{"id":1,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Pops Diner","door_data":[{"model_hash":861832298,"unique_id":"4dFgAWmMfvCh9XczrXNhg","text_dimensions":1.10002598294522,"door_coords":{"x":1581.062255859375,"y":6458.740234375,"z":25.01383018493652}}],"door_name":"Entrance 1","secret":true,"state":false,"camera":true,"door_sound":"door_metal.ogg","door_type":"single","lockpickable":false,"default_state":false,"distance":2},{"id":2,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Pops Diner","door_data":[{"model_hash":-1428884643,"unique_id":"46de08AJtYcnPTNV-qW3y","text_dimensions":1.10002598294522,"door_coords":{"x":1595.5367431640626,"y":6451.9404296875,"z":25.01383018493652}}],"door_name":"Entrance 2","secret":true,"state":true,"camera":true,"door_sound":"","door_type":"single","lockpickable":false,"default_state":true,"distance":2}]} \ No newline at end of file diff --git a/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/premium_deluxe_motorsport.json b/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/premium_deluxe_motorsport.json new file mode 100644 index 000000000..804b26a94 --- /dev/null +++ b/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/premium_deluxe_motorsport.json @@ -0,0 +1 @@ +{"name":"premium_deluxe_motorsport.json","imported":false,"data":[{"id":1,"perms":{"job":[{"grade":0,"name":"police"}],"identifier":[]},"location_group":"Premium Deluxe Motorsport","door_data":[{"unique_id":"uvDc0OY8x7MO1HAEmL2Wd","model_hash":1973010099,"text_dimensions":1.38004902750253,"door_coords":{"x":-55.95074081420898,"y":-1088.0653076171876,"z":27.61301040649414}}],"door_name":"Main Entrance","state":true,"default_state":true,"door_sound":"door_metal.ogg","door_type":"single","lockpickable":false,"distance":2},{"id":2,"perms":{"job":[{"grade":0,"name":"police"}],"identifier":[]},"location_group":"Premium Deluxe Motorsport","door_data":[{"unique_id":"gLkOWZI7Z5PEZCE18I-YI","model_hash":1973010099,"text_dimensions":1.38004902750253,"door_coords":{"x":-48.12820434570312,"y":-1103.4998779296876,"z":27.61301040649414}}],"door_name":"Side Entrance","state":true,"default_state":true,"door_sound":"door_metal.ogg","door_type":"single","lockpickable":false,"distance":2},{"id":3,"perms":{"job":[{"grade":0,"name":"police"}],"identifier":[]},"location_group":"Premium Deluxe Motorsport","door_data":[{"unique_id":"5VealIR2R4Fj2zIc_FNZy","model_hash":2089009131,"text_dimensions":-1.31781597249209,"door_coords":{"x":-27.62104797363281,"y":-1094.7628173828126,"z":27.42458724975586}}],"door_name":"Workshop Door","state":false,"default_state":true,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"distance":2},{"id":4,"perms":{"job":[{"grade":0,"name":"police"}],"identifier":[]},"location_group":"Premium Deluxe Motorsport","door_data":[{"unique_id":"PejTcBim255BEmUZR6HGX","model_hash":1010499530,"text_dimensions":0,"door_coords":{"x":-21.86486625671386,"y":-1090.369873046875,"z":29.92569923400879}}],"door_name":"Workshop Garage Door","state":false,"default_state":true,"door_sound":"door_metal.ogg","door_type":"garage","lockpickable":false,"distance":10},{"id":5,"perms":{"job":[{"grade":0,"name":"police"}],"identifier":[]},"location_group":"Premium Deluxe Motorsport","door_data":[{"unique_id":"q2H7PSn8xYm88q2sz7sEP","model_hash":2089009131,"text_dimensions":-1.31781597249209,"door_coords":{"x":-32.64266967773437,"y":-1108.5592041015626,"z":27.42458724975586}}],"door_name":"Office 1","state":false,"default_state":true,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"distance":2},{"id":6,"perms":{"job":[{"grade":0,"name":"police"}],"identifier":[]},"location_group":"Premium Deluxe Motorsport","door_data":[{"unique_id":"ArmRQyw12i1lZgs9LT1X7","model_hash":2089009131,"text_dimensions":-1.31781597249209,"door_coords":{"x":-30.42845916748047,"y":-1102.47021484375,"z":27.42458724975586}}],"door_name":"Office 2","state":false,"default_state":true,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"distance":2}]} \ No newline at end of file diff --git a/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/record_a_studios.json b/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/record_a_studios.json new file mode 100644 index 000000000..08e3040a1 --- /dev/null +++ b/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/record_a_studios.json @@ -0,0 +1 @@ +{"name":"record_a_studios.json","imported":false,"data":[{"id":1,"perms":{"job":[{"grade":0,"name":"police"}],"identifier":[]},"location_group":"Record A Studios","door_data":[{"unique_id":"apYor5UveFidv19OZI9BO","model_hash":-104698915,"text_dimensions":-1.17019524646457,"door_coords":{"x":475.156005859375,"y":-104.5779266357422,"z":63.30769348144531}},{"unique_id":"bCLFejiuA18_UtUA86WcM","model_hash":-350302570,"text_dimensions":-1.17019524646457,"door_coords":{"x":472.9541320800781,"y":-103.77748107910156,"z":63.30769348144531}}],"door_name":"Entrance","camera":true,"state":false,"default_state":true,"door_sound":"door_click.ogg","door_type":"double","lockpickable":false,"secret":false,"distance":2},{"id":2,"perms":{"job":[{"grade":0,"name":"police"}],"identifier":[]},"location_group":"Record A Studios","door_data":[{"unique_id":"NIg69NtC3fAdMx7_Ln-hf","model_hash":1364395251,"text_dimensions":-1.20916902879253,"door_coords":{"x":487.7897644042969,"y":-97.1702880859375,"z":63.31010055541992}},{"unique_id":"49aGK-0a0i6QvzV-qOi0B","model_hash":490866369,"text_dimensions":1.20916902879253,"door_coords":{"x":485.5348205566406,"y":-96.34949493408205,"z":63.31010055541992}}],"door_name":"Hallway","camera":true,"state":false,"default_state":true,"door_sound":"door_regular.ogg","door_type":"double","lockpickable":false,"secret":false,"distance":2},{"id":3,"perms":{"job":[{"grade":0,"name":"police"}],"identifier":[]},"location_group":"Record A Studios","door_data":[{"unique_id":"3UJkhs14fIbD2e4vSQ63F","model_hash":490866369,"text_dimensions":1.20916902879253,"door_coords":{"x":481.77294921875,"y":-82.4202651977539,"z":57.91009902954101}},{"unique_id":"AJ7JSAGoHuyT7FetopGWY","model_hash":1364395251,"text_dimensions":-1.20916902879253,"door_coords":{"x":484.0281982421875,"y":-83.24117279052735,"z":57.91009902954101}}],"door_name":"Hallway 2","camera":true,"state":false,"default_state":true,"door_sound":"door_regular.ogg","door_type":"double","lockpickable":false,"secret":false,"distance":2},{"id":4,"perms":{"job":[{"grade":0,"name":"police"}],"identifier":[]},"location_group":"Record A Studios","door_data":[{"unique_id":"Q0Gfa3qSRBRkovNp0CMn1","model_hash":-1643405159,"text_dimensions":-1.30503602372482,"door_coords":{"x":488.3698120117188,"y":-74.87567901611328,"z":58.31012344360351}}],"door_name":"Recording 1","camera":true,"state":false,"default_state":true,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"secret":false,"distance":2},{"id":5,"perms":{"job":[{"grade":0,"name":"police"}],"identifier":[]},"location_group":"Record A Studios","door_data":[{"unique_id":"DyV6IyytmEXq3IhYsA_wG","model_hash":-1643405159,"text_dimensions":-1.30503602372482,"door_coords":{"x":493.6206970214844,"y":-60.45001220703125,"z":58.31012344360351}}],"door_name":"Recording 2","camera":true,"state":false,"default_state":true,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"secret":false,"distance":2},{"id":6,"perms":{"job":[{"grade":0,"name":"police"}],"identifier":[]},"location_group":"Record A Studios","door_data":[{"unique_id":"uE8dya7Zj1TX5OJx8YEnr","model_hash":-1992090031,"text_dimensions":-1.30916905263438,"door_coords":{"x":489.9454650878906,"y":-78.2253646850586,"z":58.31320571899414}}],"door_name":"Lounge","camera":true,"state":true,"default_state":true,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"secret":false,"distance":2},{"id":7,"perms":{"job":[{"grade":0,"name":"police"}],"identifier":[]},"location_group":"Record A Studios","door_data":[{"unique_id":"26MRUytc7yDecrQQbdGsI","model_hash":1238289467,"text_dimensions":1.29961263248696,"door_coords":{"x":493.5103454589844,"y":-75.51423645019531,"z":58.31012344360351}},{"unique_id":"wSTTIHIkDsODgyleylpma","model_hash":161845515,"text_dimensions":-1.29961181432008,"door_coords":{"x":491.5640869140625,"y":-73.79964447021485,"z":58.31012344360351}}],"door_name":"Main Recording 1","camera":true,"state":true,"default_state":true,"door_sound":"door_regular.ogg","door_type":"double","lockpickable":false,"secret":false,"distance":2},{"id":8,"perms":{"job":[{"grade":0,"name":"police"}],"identifier":[]},"location_group":"Record A Studios","door_data":[{"unique_id":"_tUYd0AG9qRR1I7dYAxY8","model_hash":161845515,"text_dimensions":-1.29961181432008,"door_coords":{"x":500.23004150390627,"y":-64.42359924316406,"z":58.31012344360351}},{"unique_id":"L2x3Y0F3OhzSdZgwrOg6j","model_hash":1238289467,"text_dimensions":1.29961263248696,"door_coords":{"x":497.6427917480469,"y":-64.23949432373047,"z":58.31012344360351}}],"door_name":"Main Recording 2","camera":true,"state":true,"default_state":true,"door_sound":"door_regular.ogg","door_type":"double","lockpickable":false,"secret":false,"distance":2},{"id":9,"perms":{"job":[{"grade":0,"name":"police"}],"identifier":[]},"location_group":"Record A Studios","door_data":[{"unique_id":"54_Rvm_mej2l7m5djQx4a","model_hash":-1643405159,"text_dimensions":-1.30503602372482,"door_coords":{"x":504.0113525390625,"y":-63.38056182861328,"z":58.31012344360351}}],"door_name":"Drummer","camera":true,"state":true,"default_state":true,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"secret":false,"distance":2},{"id":10,"perms":{"job":[{"grade":0,"name":"police"}],"identifier":[]},"location_group":"Record A Studios","door_data":[{"unique_id":"bsYX6UTRSlpCMn2Di4w1R","model_hash":-1643405159,"text_dimensions":-1.30503602372482,"door_coords":{"x":510.9324951171875,"y":-67.20118713378906,"z":58.30988311767578}}],"door_name":"Back Room","camera":true,"state":false,"default_state":true,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"secret":false,"distance":2},{"id":11,"perms":{"job":[{"grade":0,"name":"police"}],"identifier":[]},"location_group":"Record A Studios","door_data":[{"unique_id":"o5MNVqlFXxsgVztT_TQW3","model_hash":-1643405159,"text_dimensions":-1.30503602372482,"door_coords":{"x":497.45404052734377,"y":-86.13240051269531,"z":58.31012344360351}}],"door_name":"Drummer 2","camera":true,"state":false,"default_state":true,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"secret":false,"distance":2},{"id":12,"perms":{"job":[{"grade":0,"name":"police"}],"identifier":[]},"location_group":"Record A Studios","door_data":[{"unique_id":"tjEDO6FAOKItvlIYdIdiI","model_hash":-1643405159,"text_dimensions":-1.30503602372482,"door_coords":{"x":494.1359252929688,"y":-77.84779357910156,"z":58.31012344360351}}],"door_name":"Drummer 3","camera":true,"state":false,"default_state":true,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"secret":false,"distance":2},{"id":13,"perms":{"job":[{"grade":0,"name":"police"}],"identifier":[]},"location_group":"Record A Studios","door_data":[{"unique_id":"Pdp-ChXqtN5DPU6rks65P","model_hash":-1643405159,"text_dimensions":-1.30503602372482,"door_coords":{"x":509.9294738769531,"y":-92.65479278564452,"z":58.31012344360351}}],"door_name":"Vocal 1","camera":true,"state":true,"default_state":true,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"secret":false,"distance":2},{"id":14,"perms":{"job":[{"grade":0,"name":"police"}],"identifier":[]},"location_group":"Record A Studios","door_data":[{"unique_id":"PZ2mNFUSdSRXuePUmEk6m","model_hash":1364395251,"text_dimensions":-1.20916902879253,"door_coords":{"x":512.8785400390625,"y":-89.31808471679688,"z":58.31013488769531}}],"door_name":"Vocal 2","camera":true,"state":false,"default_state":true,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"secret":false,"distance":2},{"id":15,"perms":{"job":[{"grade":0,"name":"police"}],"identifier":[]},"location_group":"Record A Studios","door_data":[{"unique_id":"Mx0EUVkjAY9qm-dsSRLVN","model_hash":1364395251,"text_dimensions":-1.20916902879253,"door_coords":{"x":504.7373046875,"y":-87.90481567382813,"z":58.31013488769531}}],"door_name":"Main Area","camera":true,"state":true,"default_state":true,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"secret":false,"distance":2}]} \ No newline at end of file diff --git a/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/sandy_pd.json b/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/sandy_pd.json new file mode 100644 index 000000000..f0f36e2b2 --- /dev/null +++ b/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/sandy_pd.json @@ -0,0 +1 @@ +{"name":"sandy_pd.json","imported":false,"data":[{"id":1,"perms":{"job":[{"grade":0,"name":"police"}],"identifier":[]},"location_group":"Sandy PD","door_data":[{"unique_id":"uCOONmY7p0AMC_KaKb_yW","model_hash":-1501157055,"text_dimensions":-1.30001020431518,"door_coords":{"x":1835.126708984375,"y":3673.41845703125,"z":34.33900833129883}},{"unique_id":"nuksRfqHv0SqhiBYM58iI","model_hash":-1501157055,"text_dimensions":-1.30001020431518,"door_coords":{"x":1837.378173828125,"y":3674.71826171875,"z":34.33900833129883}}],"door_name":"Entrance","state":false,"secret":false,"door_sound":"_notification.ogg","door_type":"double","lockpickable":false,"default_state":true,"distance":2},{"id":2,"perms":{"job":[{"grade":0,"name":"police"}],"identifier":[]},"location_group":"Sandy PD","door_data":[{"unique_id":"lo5w4cOonVUjHT50DKIel","model_hash":1364638935,"text_dimensions":1.20805097258846,"door_coords":{"x":1838.006103515625,"y":3677.10400390625,"z":34.28223037719726}}],"door_name":"Lockers","state":false,"secret":false,"door_sound":"_notification.ogg","door_type":"single","lockpickable":false,"default_state":true,"distance":2},{"id":3,"perms":{"job":[{"grade":0,"name":"police"}],"identifier":[]},"location_group":"Sandy PD","door_data":[{"unique_id":"INNe6ano110n5uEAyco6A","model_hash":1364638935,"text_dimensions":1.20805097258846,"door_coords":{"x":1836.488037109375,"y":3681.426513671875,"z":34.28223037719726}}],"door_name":"Restroom","state":false,"secret":false,"door_sound":"_notification.ogg","door_type":"single","lockpickable":false,"default_state":true,"distance":2},{"id":4,"perms":{"job":[{"grade":0,"name":"police"}],"identifier":[]},"location_group":"Sandy PD","door_data":[{"unique_id":"-b3jen5B4vGUz8Q4vEslR","model_hash":-1264811159,"text_dimensions":1.20805097258846,"door_coords":{"x":1838.9652099609376,"y":3682.856689453125,"z":34.28223037719726}}],"door_name":"Armory","state":false,"secret":false,"door_sound":"_notification.ogg","door_type":"single","lockpickable":false,"default_state":true,"distance":2},{"id":5,"perms":{"job":[{"grade":0,"name":"police"}],"identifier":[]},"location_group":"Sandy PD","door_data":[{"unique_id":"T6eU6-eXirbSgnOsoGS2e","model_hash":-1264811159,"text_dimensions":1.20805097258846,"door_coords":{"x":1829.852783203125,"y":3673.788818359375,"z":34.28223037719726}}],"door_name":"Office","state":true,"secret":false,"door_sound":"_notification.ogg","door_type":"single","lockpickable":false,"default_state":true,"distance":2},{"id":6,"perms":{"job":[{"grade":0,"name":"police"}],"identifier":[]},"location_group":"Sandy PD","door_data":[{"unique_id":"hz_B9QlhH3awOn3STGAwN","model_hash":-1264811159,"text_dimensions":1.20805097258846,"door_coords":{"x":1829.38427734375,"y":3680.266845703125,"z":34.28223037719726}}],"door_name":"Reception","state":false,"secret":false,"door_sound":"_notification.ogg","door_type":"single","lockpickable":false,"default_state":true,"distance":2},{"id":7,"perms":{"job":[{"grade":0,"name":"police"}],"identifier":[]},"location_group":"Sandy PD","door_data":[{"unique_id":"3E0lTsDcZsFymp_UuVFN5","model_hash":-1501157055,"text_dimensions":-1.30001020431518,"door_coords":{"x":1823.86328125,"y":3681.116943359375,"z":34.33900833129883}}],"door_name":"Rear entrance","state":false,"secret":false,"door_sound":"_notification.ogg","door_type":"single","lockpickable":false,"default_state":true,"distance":2},{"id":8,"perms":{"job":[{"grade":0,"name":"police"}],"identifier":[]},"location_group":"Sandy PD","door_data":[{"unique_id":"AFX_mC2er8mMfJkdBXVz4","model_hash":2010487154,"text_dimensions":-1.18245634309846,"door_coords":{"x":1813.55126953125,"y":3675.055419921875,"z":34.39608764648437}}],"door_name":"Cells","state":false,"secret":false,"door_sound":"_notification.ogg","door_type":"single","lockpickable":false,"default_state":true,"distance":2},{"id":9,"perms":{"job":[{"grade":0,"name":"police"}],"identifier":[]},"location_group":"Sandy PD","door_data":[{"unique_id":"g7h8dqm6UWDgv6lkjN4Ae","model_hash":2010487154,"text_dimensions":-1.18245634309846,"door_coords":{"x":1810.131103515625,"y":3676.46435546875,"z":34.39608764648437}}],"door_name":"Cell 1","state":true,"secret":false,"door_sound":"_notification.ogg","door_type":"single","lockpickable":false,"default_state":true,"distance":2},{"id":10,"perms":{"job":[{"grade":0,"name":"police"}],"identifier":[]},"location_group":"Sandy PD","door_data":[{"unique_id":"9JkFWooZuFmkjcobyqwRW","model_hash":2010487154,"text_dimensions":-1.18245634309846,"door_coords":{"x":1808.62939453125,"y":3679.0654296875,"z":34.39608764648437}}],"door_name":"Cell 2","state":true,"secret":false,"door_sound":"_notification.ogg","door_type":"single","lockpickable":false,"default_state":true,"distance":2},{"id":11,"perms":{"job":[{"grade":0,"name":"police"}],"identifier":[]},"location_group":"Sandy PD","door_data":[{"unique_id":"fxCDLPiHmnr4TgWTYFI-4","model_hash":2010487154,"text_dimensions":-1.18245634309846,"door_coords":{"x":1807.131103515625,"y":3681.660400390625,"z":34.39608764648437}}],"door_name":"Cell 3","state":true,"secret":false,"door_sound":"_notification.ogg","door_type":"single","lockpickable":false,"default_state":true,"distance":2},{"id":12,"perms":{"job":[{"grade":0,"name":"police"}],"identifier":[]},"location_group":"Sandy PD","door_data":[{"unique_id":"tT2eQfd8LQfTlljkCmBW0","model_hash":1364638935,"text_dimensions":1.20805097258846,"door_coords":{"x":1812.306640625,"y":3672.724365234375,"z":34.28223037719726}}],"door_name":"Interrogation","state":true,"secret":false,"door_sound":"_notification.ogg","door_type":"single","lockpickable":false,"default_state":true,"distance":2},{"id":13,"perms":{"job":[{"grade":0,"name":"police"}],"identifier":[]},"location_group":"Sandy PD","door_data":[{"unique_id":"W4O6nsGPKZvC0mbv4l-UG","model_hash":-1264811159,"text_dimensions":1.20805097258846,"door_coords":{"x":1814.195068359375,"y":3669.453369140625,"z":34.28223037719726}}],"door_name":"Observation","state":true,"secret":false,"door_sound":"_notification.ogg","door_type":"single","lockpickable":false,"default_state":true,"distance":2},{"id":14,"perms":{"job":[{"grade":0,"name":"police"}],"identifier":[]},"location_group":"Sandy PD","door_data":[{"unique_id":"qKtFxHCVmvhvzraILqK30","model_hash":1364638935,"text_dimensions":1.20805097258846,"door_coords":{"x":1818.31689453125,"y":3669.27783203125,"z":34.28223037719726}}],"door_name":"Mugshot","state":true,"secret":false,"door_sound":"_notification.ogg","door_type":"single","lockpickable":false,"default_state":true,"distance":2},{"id":15,"perms":{"job":[{"grade":0,"name":"police"}],"identifier":[]},"location_group":"Sandy PD","door_data":[{"unique_id":"Vti2uL8q9NumxFFb5VocX","model_hash":-1264811159,"text_dimensions":1.20805097258846,"door_coords":{"x":1828.52734375,"y":3680.228759765625,"z":38.95244979858398}}],"door_name":"Archive","state":false,"secret":false,"door_sound":"_notification.ogg","door_type":"single","lockpickable":false,"default_state":true,"distance":2},{"id":16,"perms":{"job":[{"grade":0,"name":"police"}],"identifier":[]},"location_group":"Sandy PD","door_data":[{"unique_id":"SnskF39VORc_jKSkFiGxS","model_hash":-1626613696,"text_dimensions":1.29310336709022,"door_coords":{"x":1831.2298583984376,"y":3675.428466796875,"z":38.95244979858398}}],"door_name":"Deputy","state":true,"secret":false,"door_sound":"_notification.ogg","door_type":"single","lockpickable":false,"default_state":true,"distance":2},{"id":17,"perms":{"job":[{"grade":0,"name":"police"}],"identifier":[]},"location_group":"Sandy PD","door_data":[{"unique_id":"A4q1qjoPDmness4cjO3zQ","model_hash":-1626613696,"text_dimensions":1.29310336709022,"door_coords":{"x":1828.4293212890626,"y":3673.811767578125,"z":38.95244979858398}}],"door_name":"Sheriff","state":true,"secret":false,"door_sound":"_notification.ogg","door_type":"single","lockpickable":false,"default_state":true,"distance":2},{"id":18,"perms":{"job":[{"grade":0,"name":"police"}],"identifier":[]},"location_group":"Sandy PD","door_data":[{"unique_id":"rSpo8nQWN2N7HJ4NH5xQK","model_hash":-1264811159,"text_dimensions":1.20805097258846,"door_coords":{"x":1830.650146484375,"y":3676.562255859375,"z":34.28223037719726}}],"door_name":"Employees","state":false,"secret":false,"door_sound":"_notification.ogg","door_type":"single","lockpickable":false,"default_state":true,"distance":2},{"id":19,"perms":{"job":[{"grade":0,"name":"police"}],"identifier":[]},"location_group":"Sandy PD","door_data":[{"unique_id":"9JP6uI3NoM9bwzJ7_T63V","model_hash":1286535678,"text_dimensions":7.56022737920284,"door_coords":{"x":1862.00341796875,"y":3687.523681640625,"z":33.01415252685547}}],"door_name":"Gate","state":true,"secret":false,"door_sound":"_key_press.ogg","door_type":"gates","lockpickable":false,"default_state":true,"distance":10},{"id":20,"perms":{"job":[{"grade":0,"name":"police"}],"identifier":[]},"location_group":"Sandy PD","door_data":[{"unique_id":"b6bHLWBHHSZtZvX7quZeh","model_hash":-1156020871,"text_dimensions":1.71312944777309,"door_coords":{"x":1845.406982421875,"y":3677.485107421875,"z":34.6119499206543}}],"door_name":"Parking","state":true,"secret":false,"door_sound":"_key_press.ogg","door_type":"single","lockpickable":false,"default_state":true,"distance":2}]} \ No newline at end of file diff --git a/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/suburban_greatoceanhighway.json b/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/suburban_greatoceanhighway.json new file mode 100644 index 000000000..cf8a40a84 --- /dev/null +++ b/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/suburban_greatoceanhighway.json @@ -0,0 +1 @@ +{"name":"suburban_greatoceanhighway.json","imported":false,"data":[{"id":4,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Suburban Great Ocean Highway","door_data":[{"unique_id":"e8VzFWrJjF9Xgf3SZNKXq","model_hash":1780022985,"text_dimensions":1.67617720365524,"door_coords":{"x":-3167.73193359375,"y":1055.5831298828126,"z":21.53314208984375}}],"door_name":"Enterance","default_state":true,"state":true,"secret":false,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"camera":false,"distance":2}]} \ No newline at end of file diff --git a/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/suburban_hawickave.json b/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/suburban_hawickave.json new file mode 100644 index 000000000..0d1481693 --- /dev/null +++ b/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/suburban_hawickave.json @@ -0,0 +1 @@ +{"name":"suburban_hawickave.json","imported":false,"data":[{"id":1,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Suburban Hawick Ave","door_data":[{"unique_id":"8eEcfA9U-jNiAx9_cijmm","model_hash":1780022985,"text_dimensions":1.67617720365524,"door_coords":{"x":127.83503723144533,"y":-211.77786254882813,"z":55.22748184204101}}],"door_name":"Enterance","default_state":true,"state":true,"secret":false,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"camera":false,"distance":2}]} \ No newline at end of file diff --git a/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/suburban_prosperitystreet.json b/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/suburban_prosperitystreet.json new file mode 100644 index 000000000..5294d5a6a --- /dev/null +++ b/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/suburban_prosperitystreet.json @@ -0,0 +1 @@ +{"name":"suburban_prosperitystreet.json","imported":false,"data":[{"id":3,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Suburban Prosperity Street","door_data":[{"unique_id":"pcGfumK-sjwUheWerMC_H","model_hash":1780022985,"text_dimensions":1.67617720365524,"door_coords":{"x":-1201.474853515625,"y":-776.8890991210938,"z":17.99211120605468}}],"door_name":"Enterance","default_state":true,"state":true,"secret":false,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"camera":false,"distance":2}]} \ No newline at end of file diff --git a/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/suburban_route68.json b/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/suburban_route68.json new file mode 100644 index 000000000..d0ae6276d --- /dev/null +++ b/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/suburban_route68.json @@ -0,0 +1 @@ +{"name":"suburban_route68.json","imported":false,"data":[{"id":2,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Suburban Route 68","door_data":[{"unique_id":"_q0fshpRlMnaInb0SJtWw","model_hash":1780022985,"text_dimensions":1.67617720365524,"door_coords":{"x":617.2521362304688,"y":2750.972412109375,"z":42.75804138183594}}],"door_name":"Enterance","default_state":true,"state":true,"secret":false,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"camera":false,"distance":2}]} \ No newline at end of file diff --git a/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/tattoo_chumash.json b/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/tattoo_chumash.json new file mode 100644 index 000000000..ecd4b8df5 --- /dev/null +++ b/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/tattoo_chumash.json @@ -0,0 +1 @@ +{"name":"tattoo_chumash.json","imported":false,"data":[{"id":1,"perms":{"job":[{"grade":0,"name":"police"}],"identifier":[]},"location_group":"Tattoo Chumash","door_data":[{"unique_id":"frzGVbOZqHMKCZxpC-Oko","model_hash":543652229,"text_dimensions":-1.30098725110292,"door_coords":{"x":-3167.78369140625,"y":1074.8648681640626,"z":20.94142913818359}}],"door_name":"Entrance","camera":false,"state":false,"secret":false,"door_sound":"door_wooden.ogg","door_type":"single","lockpickable":false,"default_state":false,"distance":2},{"id":2,"perms":{"job":[{"grade":0,"name":"police"}],"identifier":[]},"location_group":"Tattoo Chumash","door_data":[{"unique_id":"ar22MvXAVMhlMXXEaTme-","model_hash":1243635233,"text_dimensions":-1.30148995254421,"door_coords":{"x":-3173.27490234375,"y":1076.7779541015626,"z":20.99953460693359}}],"door_name":"Office","camera":false,"state":true,"secret":false,"door_sound":"door_metal.ogg","door_type":"single","lockpickable":false,"default_state":true,"distance":2}]} \ No newline at end of file diff --git a/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/tattoo_el_burro.json b/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/tattoo_el_burro.json new file mode 100644 index 000000000..92311960b --- /dev/null +++ b/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/tattoo_el_burro.json @@ -0,0 +1,5 @@ +{ + "imported": false, + "data": [{"state":false,"door_sound":"door_wooden.ogg","default_state":false,"camera":false,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"lockpickable":false,"id":1,"door_type":"single","door_data":[{"model_hash":543652229,"unique_id":"gHa0rHROMp0wgMZeJfadf","text_dimensions":-1.30098725110292,"door_coords":{"x":1321.281982421875,"y":-1650.59228515625,"z":52.38686370849609}}],"location_group":"Tattoo El Burro","distance":2,"secret":false,"door_name":"Entrance"},{"state":true,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"default_state":true,"door_name":"Office","door_type":"single","lockpickable":false,"id":2,"secret":false,"door_data":[{"model_hash":1243635233,"unique_id":"Q-aq5dkrNGn6ZAUs97r5Q","door_coords":{"x":1325.27880859375,"y":-1654.8157958984376,"z":52.44652938842773},"text_dimensions":-1.30148995254421}],"camera":false,"distance":2,"location_group":"Tattoo El Burro","door_sound":"door_metal.ogg"}], + "name": "tattoo_el_burro.json" +} \ No newline at end of file diff --git a/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/tattoo_paleto.json b/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/tattoo_paleto.json new file mode 100644 index 000000000..fed643fff --- /dev/null +++ b/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/tattoo_paleto.json @@ -0,0 +1 @@ +{"name":"tattoo_paleto.json","imported":false,"data":[{"id":1,"perms":{"job":[{"grade":0,"name":"police"}],"identifier":[]},"location_group":"Tattoo Paleto","door_data":[{"unique_id":"zgKzztrckwYX3bg3Cm5_u","model_hash":1212467128,"text_dimensions":-1.30108321458101,"door_coords":{"x":-289.2171325683594,"y":6199.0751953125,"z":31.59542274475097}}],"door_name":"Entrance","default_state":false,"state":false,"camera":false,"door_sound":"door_wooden.ogg","door_type":"single","lockpickable":false,"secret":false,"distance":2},{"id":2,"perms":{"job":[{"grade":0,"name":"police"}],"identifier":[]},"location_group":"Tattoo Paleto","door_data":[{"unique_id":"4PGHIWhPFMDOvXNh4xH9z","model_hash":1243635233,"text_dimensions":-1.30148995254421,"door_coords":{"x":-295.4470825195313,"y":6197.20703125,"z":31.65352821350097}}],"door_name":"Office","default_state":true,"state":true,"camera":false,"door_sound":"door_metal.ogg","door_type":"single","lockpickable":false,"secret":false,"distance":2}]} \ No newline at end of file diff --git a/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/tattoo_sandy.json b/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/tattoo_sandy.json new file mode 100644 index 000000000..0679e158d --- /dev/null +++ b/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/tattoo_sandy.json @@ -0,0 +1 @@ +{"name":"tattoo_sandy.json","imported":false,"data":[{"id":1,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Tattoo Sandy","door_data":[{"unique_id":"cIgZISOWaj5txNopoog6g","model_hash":1212467128,"text_dimensions":-1.30108321458101,"door_coords":{"x":1859.943603515625,"y":3749.811279296875,"z":33.14018249511719}}],"door_name":"Entrance","secret":false,"state":false,"default_state":false,"door_sound":"door_wooden.ogg","door_type":"single","lockpickable":false,"camera":false,"distance":2},{"id":2,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Tattoo Sandy","door_data":[{"unique_id":"AgtWcaknHz1DkhyFxaBu7","model_hash":1243635233,"text_dimensions":-1.30148995254421,"door_coords":{"x":1866.44384765625,"y":3750.034423828125,"z":33.19828796386719}}],"door_name":"Office","secret":false,"state":true,"default_state":true,"door_sound":"door_metal.ogg","door_type":"single","lockpickable":false,"camera":false,"distance":2}]} \ No newline at end of file diff --git a/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/tattoo_vespucci.json b/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/tattoo_vespucci.json new file mode 100644 index 000000000..9a0041609 --- /dev/null +++ b/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/tattoo_vespucci.json @@ -0,0 +1 @@ +{"name":"tattoo_vespucci.json","imported":false,"data":[{"id":1,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Tattoo Vespucci","door_data":[{"model_hash":543652229,"unique_id":"gNWRRpTSvXW0-VBsHPtPf","text_dimensions":-1.30098725110292,"door_coords":{"x":-1155.457275390625,"y":-1424.003173828125,"z":5.06672286987304}}],"door_name":"Entrance","camera":false,"state":false,"default_state":false,"door_sound":"door_wooden.ogg","door_type":"single","lockpickable":false,"secret":false,"distance":2},{"id":2,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Tattoo Vespucci","door_data":[{"model_hash":1243635233,"unique_id":"04z1peXJDfxD6-IlsMfDi","text_dimensions":-1.30148995254421,"door_coords":{"x":-1151.772705078125,"y":-1428.5015869140626,"z":5.1248288154602}}],"door_name":"Office","camera":false,"state":true,"default_state":true,"door_sound":"door_metal.ogg","door_type":"single","lockpickable":false,"secret":false,"distance":2}]} \ No newline at end of file diff --git a/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/tattoo_vinewood.json b/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/tattoo_vinewood.json new file mode 100644 index 000000000..b19fdb7fc --- /dev/null +++ b/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/tattoo_vinewood.json @@ -0,0 +1 @@ +{"name":"tattoo_vinewood.json","imported":false,"data":[{"id":1,"perms":{"job":[{"grade":0,"name":"police"}],"identifier":[]},"location_group":"Tattoo Vinewood","door_data":[{"unique_id":"pMObyb14N35xVlweBtbM6","model_hash":543652229,"text_dimensions":-1.30098725110292,"door_coords":{"x":321.80633544921877,"y":178.3543701171875,"z":103.69883728027344}}],"door_name":"Entrance","default_state":false,"state":false,"secret":false,"door_sound":"door_wooden.ogg","door_type":"single","lockpickable":false,"camera":false,"distance":2},{"id":2,"perms":{"job":[{"grade":0,"name":"police"}],"identifier":[]},"location_group":"Tattoo Vinewood","door_data":[{"unique_id":"DLAREi673Uvkhlh1ISMi3","model_hash":1243635233,"text_dimensions":-1.30148995254421,"door_coords":{"x":323.3778991699219,"y":183.9528045654297,"z":103.75694274902344}}],"door_name":"Office","default_state":true,"state":true,"secret":false,"door_sound":"door_metal.ogg","door_type":"single","lockpickable":false,"camera":false,"distance":2}]} \ No newline at end of file diff --git a/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/town_hall.json b/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/town_hall.json new file mode 100644 index 000000000..99ca21a09 --- /dev/null +++ b/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/town_hall.json @@ -0,0 +1 @@ +{"name":"town_hall.json","imported":false,"data":[{"id":1,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Town Hall","door_data":[{"model_hash":-1094765077,"unique_id":"bRGbABo28OZCY1kxJmyUa","text_dimensions":-1.13230021926422,"door_coords":{"x":-546.5196533203125,"y":-203.91189575195313,"z":38.42063903808594}},{"model_hash":660342567,"unique_id":"knaYM4w8SulyOz2eeN8PB","text_dimensions":-1.13230021926422,"door_coords":{"x":-544.558349609375,"y":-202.7798309326172,"z":38.42063903808594}}],"door_name":"Entrance","secret":false,"state":false,"default_state":false,"door_sound":"door_wooden.ogg","door_type":"double","lockpickable":false,"camera":true,"distance":2},{"id":2,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Town Hall","door_data":[{"model_hash":-1940023190,"unique_id":"fpQyFVYnpO0kTdy2qDTkB","text_dimensions":-0.652408292621,"door_coords":{"x":-544.13818359375,"y":-190.68182373046876,"z":38.43664169311523}},{"model_hash":-1940023190,"unique_id":"_hbDEdLxDXixaZNaeqsHE","text_dimensions":-0.652408292621,"door_coords":{"x":-543.488525390625,"y":-191.8074493408203,"z":38.43664169311523}}],"door_name":"Hallway","secret":false,"state":true,"default_state":false,"door_sound":"door_wooden.ogg","door_type":"double","lockpickable":false,"camera":true,"distance":2},{"id":3,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Town Hall","door_data":[{"model_hash":-1940023190,"unique_id":"omu5es6kZ2SRuVu85cJvJ","text_dimensions":-0.652408292621,"door_coords":{"x":-556.5889282226563,"y":-199.36883544921876,"z":38.43664169311523}},{"model_hash":-1940023190,"unique_id":"NN5xjne7eu-ow93KiogGe","text_dimensions":-0.652408292621,"door_coords":{"x":-557.2386474609375,"y":-198.2432098388672,"z":38.43664169311523}}],"door_name":"Court Room","secret":false,"state":false,"default_state":false,"door_sound":"door_wooden.ogg","door_type":"double","lockpickable":false,"camera":true,"distance":2},{"id":4,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Town Hall","door_data":[{"model_hash":-1940023190,"unique_id":"hqReLZ_5tFqOKTruZH5V9","text_dimensions":-0.652408292621,"door_coords":{"x":-562.1282958984375,"y":-202.56610107421876,"z":38.43664169311523}},{"model_hash":-1940023190,"unique_id":"xebf5MEjfP5MOrTsoQXqy","text_dimensions":-0.652408292621,"door_coords":{"x":-562.7779541015625,"y":-201.4404754638672,"z":38.43664169311523}}],"door_name":"Court Room Hallway","secret":false,"state":false,"default_state":false,"door_sound":"door_wooden.ogg","door_type":"double","lockpickable":false,"camera":true,"distance":2},{"id":5,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Town Hall","door_data":[{"model_hash":-1550341477,"unique_id":"_eOiPDsioD0NTe4dr3mbd","text_dimensions":-0.92899290751665,"door_coords":{"x":-568.5460815429688,"y":-206.5823211669922,"z":37.89135360717773}},{"model_hash":-1550341477,"unique_id":"UyntlCdNtmjQjINpVUl7K","text_dimensions":-0.92899290751665,"door_coords":{"x":-569.4658813476563,"y":-204.98873901367188,"z":37.89135360717773}}],"door_name":"Court Room Speakers","secret":false,"state":false,"default_state":false,"door_sound":"door_squeak.ogg","door_type":"double","lockpickable":false,"camera":false,"distance":2},{"id":6,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Town Hall","door_data":[{"model_hash":1762042010,"unique_id":"YDcK5Cq4SPIxayaQQUpmH","text_dimensions":-1.3126700924469,"door_coords":{"x":-577.2459106445313,"y":-216.6084136962891,"z":38.32498550415039}}],"door_name":"Jury Room","secret":false,"state":false,"default_state":true,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"camera":true,"distance":2},{"id":7,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Town Hall","door_data":[{"model_hash":1762042010,"unique_id":"EP3wIswEbbY-o7LJ536Ca","text_dimensions":-1.3126700924469,"door_coords":{"x":-582.504150390625,"y":-207.498291015625,"z":38.32498550415039}}],"door_name":"Judge Room","secret":false,"state":false,"default_state":true,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"camera":true,"distance":2},{"id":8,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Town Hall","door_data":[{"model_hash":1762042010,"unique_id":"Ss--8spYriSA1kIUp73Md","text_dimensions":-1.3126700924469,"door_coords":{"x":-574.5857543945313,"y":-216.9340057373047,"z":38.32498550415039}}],"door_name":"Court Room Hallway 2","secret":false,"state":false,"default_state":true,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"camera":true,"distance":2},{"id":9,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Town Hall","door_data":[{"model_hash":1762042010,"unique_id":"YeXxaq-D_hLmBD3vFVUSi","text_dimensions":-1.3126700924469,"door_coords":{"x":-562.6888427734375,"y":-231.6888427734375,"z":34.37224197387695}}],"door_name":"Cell Room","secret":false,"state":true,"default_state":true,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"camera":true,"distance":2},{"id":10,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Town Hall","door_data":[{"model_hash":918828907,"unique_id":"qY9jq2MAeMXU2xYxhEo3W","text_dimensions":-1.7736747264862,"door_coords":{"x":-557.944091796875,"y":-233.11065673828129,"z":34.47710418701172}}],"door_name":"Cell 1","secret":false,"state":true,"default_state":true,"door_sound":"","door_type":"single","lockpickable":false,"camera":true,"distance":2},{"id":11,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Town Hall","door_data":[{"model_hash":918828907,"unique_id":"kZwF2vmuw5eMuvlExYNEt","text_dimensions":-1.7736747264862,"door_coords":{"x":-560.5423583984375,"y":-234.61032104492188,"z":34.47710418701172}}],"door_name":"Cell 2","secret":false,"state":true,"default_state":true,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"camera":true,"distance":2},{"id":12,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Town Hall","door_data":[{"model_hash":297112647,"unique_id":"8yrnltR8jHj8jsHxthTLE","text_dimensions":-1.06310506714446,"door_coords":{"x":-567.4882202148438,"y":-236.2653350830078,"z":34.35750198364258}},{"model_hash":830788581,"unique_id":"Qs7YfHwFA0IYhkinAmFZl","text_dimensions":-1.06310504714446,"door_coords":{"x":-568.5510864257813,"y":-234.4238739013672,"z":34.35750198364258}}],"door_name":"Side Entrance","secret":false,"state":true,"default_state":true,"door_sound":"door_metal.ogg","door_type":"double","lockpickable":false,"camera":true,"distance":2},{"id":13,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Town Hall","door_data":[{"model_hash":1762042010,"unique_id":"Sv5iscoWqKZnoa1apAUN3","text_dimensions":-1.3126700924469,"door_coords":{"x":-541.0228881835938,"y":-192.2024078369141,"z":38.33399963378906}}],"door_name":"Office 1","secret":false,"state":false,"default_state":false,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"camera":false,"distance":2},{"id":14,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Town Hall","door_data":[{"model_hash":1762042010,"unique_id":"wtqLRKUcjU6Me9J-fwSga","text_dimensions":-1.3126700924469,"door_coords":{"x":-536.199951171875,"y":-189.41868591308598,"z":38.33399963378906}}],"door_name":"Office 2","secret":false,"state":false,"default_state":false,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"camera":false,"distance":2},{"id":15,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Town Hall","door_data":[{"model_hash":1762042010,"unique_id":"c3Js9W5NMQ0xxmYcahXB6","text_dimensions":-1.3126700924469,"door_coords":{"x":-531.3375854492188,"y":-186.61221313476566,"z":38.33399963378906}}],"door_name":"Office 3","secret":false,"state":false,"default_state":false,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"camera":false,"distance":2},{"id":16,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Town Hall","door_data":[{"model_hash":1762042010,"unique_id":"2hrgB40DGVjviwIYorqxe","text_dimensions":-1.3126700924469,"door_coords":{"x":-532.4227294921875,"y":-182.13291931152345,"z":38.33399963378906}}],"door_name":"Voting Room 2","secret":false,"state":true,"default_state":true,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"camera":true,"distance":2},{"id":17,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Town Hall","door_data":[{"model_hash":1762042010,"unique_id":"2h3Va_dvwXhwmwl1AXG3p","text_dimensions":-1.3126700924469,"door_coords":{"x":-538.4104614257813,"y":-185.5889434814453,"z":38.33399963378906}}],"door_name":"Voting Room 1","secret":false,"state":true,"default_state":true,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"camera":true,"distance":2},{"id":18,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Town Hall","door_data":[{"model_hash":1762042010,"unique_id":"uu5k3cO2wx2nZf_EikjCb","text_dimensions":-1.3126700924469,"door_coords":{"x":-541.0101318359375,"y":-192.1979522705078,"z":43.46984100341797}}],"door_name":"Office 4","secret":false,"state":false,"default_state":false,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"camera":false,"distance":2},{"id":19,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Town Hall","door_data":[{"model_hash":1762042010,"unique_id":"qovWjjOj7KyMT0sb1ec27","text_dimensions":-1.3126700924469,"door_coords":{"x":-536.187255859375,"y":-189.4142303466797,"z":43.46984100341797}}],"door_name":"Mayor Office","secret":false,"state":true,"default_state":true,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"camera":true,"distance":2},{"id":20,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Town Hall","door_data":[{"model_hash":1762042010,"unique_id":"358LhZrzOk6qQHzxVz1RI","text_dimensions":-1.3126700924469,"door_coords":{"x":-538.3983764648438,"y":-185.5833740234375,"z":43.46984100341797}}],"door_name":"Meeting Room","secret":false,"state":true,"default_state":true,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"camera":true,"distance":2},{"id":21,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Town Hall","door_data":[{"model_hash":-1940023190,"unique_id":"1ooZutMY_xdZ7ajKIvKNp","text_dimensions":-0.652408292621,"door_coords":{"x":-562.7752685546875,"y":-201.4389190673828,"z":43.57549667358398}},{"model_hash":-1940023190,"unique_id":"5OsK16WFsJdZ96bJJQSD0","text_dimensions":-0.652408292621,"door_coords":{"x":-562.1256103515625,"y":-202.5645446777344,"z":43.57549667358398}}],"door_name":"Balcony","camera":false,"state":false,"default_state":false,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"secret":false,"distance":2}]} \ No newline at end of file diff --git a/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/triad_records.json b/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/triad_records.json new file mode 100644 index 000000000..9c166f9d4 --- /dev/null +++ b/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/triad_records.json @@ -0,0 +1 @@ +{"name":"triad_records.json","imported":false,"data":[{"id":1,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Triad Records","door_data":[{"model_hash":2001816392,"unique_id":"dF4oJVo9zwq65se0Zcb6N","text_dimensions":-1.10236427700147,"door_coords":{"x":-826.4025268554688,"y":-698.747802734375,"z":28.49082565307617}},{"model_hash":2001816392,"unique_id":"Zi6k2JkHQCv7M1W6aVdQq","text_dimensions":-1.10236427700147,"door_coords":{"x":-826.4025268554688,"y":-700.9301147460938,"z":28.49082565307617}}],"door_name":"Entrance 2","default_state":true,"state":true,"secret":false,"door_sound":"door_metal.ogg","door_type":"double","lockpickable":false,"camera":true,"distance":2},{"id":2,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Triad Records","door_data":[{"model_hash":2001816392,"unique_id":"gxESb0ZraQo00C5UbXw5h","text_dimensions":-1.10236427700147,"door_coords":{"x":-826.4025268554688,"y":-697.994384765625,"z":28.49082565307617}},{"model_hash":2001816392,"unique_id":"9vk8daxYHGN-_rzrUNOy3","text_dimensions":-1.10236427700147,"door_coords":{"x":-826.4025268554688,"y":-695.8147583007813,"z":28.49082565307617}}],"door_name":"Entrance 1","default_state":true,"state":false,"secret":false,"door_sound":"door_metal.ogg","door_type":"double","lockpickable":false,"camera":true,"distance":2},{"id":3,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Triad Records","door_data":[{"model_hash":693644064,"unique_id":"PthvWvZfllZwV6ku1raxD","text_dimensions":1.29968102825744,"door_coords":{"x":-816.6038208007813,"y":-694.3998413085938,"z":28.20559692382812}}],"door_name":"Staff Room 1","default_state":true,"state":true,"secret":false,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"camera":true,"distance":2},{"id":4,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Triad Records","door_data":[{"model_hash":693644064,"unique_id":"RCIB0tY22ELFLVXIAh70y","text_dimensions":1.29968102825744,"door_coords":{"x":-816.6038208007813,"y":-702.3438110351563,"z":28.20559692382812}}],"door_name":"Staff Room 1","default_state":true,"state":true,"secret":false,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"camera":true,"distance":2},{"id":5,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Triad Records","door_data":[{"model_hash":1403720845,"unique_id":"-ku1BxKUr-ZoLT76zbJOx","text_dimensions":-1.00120111359222,"door_coords":{"x":-820.3126220703125,"y":-703.1263427734375,"z":28.20559692382812}},{"model_hash":75593271,"unique_id":"Ap1XyNMKTGI-CweJtt5Ng","text_dimensions":1.00120111359222,"door_coords":{"x":-822.3142700195313,"y":-703.1263427734375,"z":28.20559692382812}}],"door_name":"Hallway","default_state":true,"state":false,"secret":false,"door_sound":"door_regular.ogg","door_type":"double","lockpickable":false,"camera":true,"distance":2},{"id":6,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Triad Records","door_data":[{"model_hash":75593271,"unique_id":"-gO-XcuaSTkEfe_fOa3fl","text_dimensions":1.00120111359222,"door_coords":{"x":-822.3142700195313,"y":-715.6939697265625,"z":28.20559692382812}},{"model_hash":1403720845,"unique_id":"Q5-YOOuREsEmESRcc9r0C","text_dimensions":-1.00120111359222,"door_coords":{"x":-820.3126220703125,"y":-715.6939697265625,"z":28.20559692382812}}],"door_name":"Hallway 2","default_state":true,"state":false,"secret":false,"door_sound":"door_regular.ogg","door_type":"double","lockpickable":false,"camera":true,"distance":2},{"id":7,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Triad Records","door_data":[{"model_hash":693644064,"unique_id":"uAj3kH_KzPQmk85I_QnC9","text_dimensions":1.29968102825744,"door_coords":{"x":-819.4990844726563,"y":-711.9124145507813,"z":28.20559692382812}}],"door_name":"Staircase","default_state":true,"state":false,"secret":false,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"camera":true,"distance":2},{"id":8,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Triad Records","door_data":[{"model_hash":693644064,"unique_id":"AzGkyP1NwoA1g9UXuSLJE","text_dimensions":1.29968102825744,"door_coords":{"x":-819.4990844726563,"y":-719.3162841796875,"z":28.20559692382812}}],"door_name":"Cloakroom","default_state":true,"state":true,"secret":false,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"camera":false,"distance":2},{"id":9,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Triad Records","door_data":[{"model_hash":693644064,"unique_id":"Rt74IYHQyKga_ybaAyy5a","text_dimensions":1.29968102825744,"door_coords":{"x":-819.4990844726563,"y":-728.5466918945313,"z":28.20559692382812}}],"door_name":"Restroom","default_state":false,"state":false,"secret":false,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"camera":false,"distance":2},{"id":10,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Triad Records","door_data":[{"model_hash":693644064,"unique_id":"49_gHtSsH28n1HMnQJqml","text_dimensions":1.29968102825744,"door_coords":{"x":-819.4990844726563,"y":-711.9124145507813,"z":23.92465019226074}}],"door_name":"Downstairs Hallway","default_state":true,"state":false,"secret":false,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"camera":true,"distance":2},{"id":11,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Triad Records","door_data":[{"model_hash":-700626879,"unique_id":"La37i0DWu3EbaovY8aZ7I","text_dimensions":0,"door_coords":{"x":-816.2236328125,"y":-740.062255859375,"z":24.9803295135498}}],"door_name":"Warehouse Garage","default_state":true,"state":true,"secret":false,"door_sound":"door_switch.ogg","door_type":"garage","lockpickable":false,"camera":true,"distance":10},{"id":12,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Triad Records","door_data":[{"model_hash":-2023754432,"unique_id":"OeBBZ6oEUL_579zzg7nQh","text_dimensions":1.3113248348236,"door_coords":{"x":-819.0726928710938,"y":-721.4121704101563,"z":23.93993949890136}}],"door_name":"Warehouse Office","default_state":true,"state":true,"secret":false,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"camera":true,"distance":2},{"id":13,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Triad Records","door_data":[{"model_hash":-2023754432,"unique_id":"z4wkgjrbyGUelsIyRvqjX","text_dimensions":1.3113248348236,"door_coords":{"x":-820.6585083007813,"y":-715.6948852539063,"z":23.93993949890136}}],"door_name":"Warehouse Entrance","default_state":true,"state":true,"secret":false,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"camera":true,"distance":2},{"id":14,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Triad Records","door_data":[{"model_hash":-2023754432,"unique_id":"2NgoJXSQJbE6JL0-4rGtk","text_dimensions":1.3113248348236,"door_coords":{"x":-823.14306640625,"y":-711.9124145507813,"z":23.92465019226074}}],"door_name":"Lab","default_state":true,"state":true,"secret":false,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"camera":true,"distance":2},{"id":15,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Triad Records","door_data":[{"model_hash":693644064,"unique_id":"IbHa9udrbjzFa3-MDC56l","text_dimensions":1.29968102825744,"door_coords":{"x":-819.4990844726563,"y":-711.9124145507813,"z":32.48664855957031}}],"door_name":"Upstairs Hallway","default_state":true,"state":false,"secret":false,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"camera":true,"distance":2},{"id":16,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Triad Records","door_data":[{"model_hash":75593271,"unique_id":"FsIB3Maz0-olWMBEj8ZTL","text_dimensions":1.00120111359222,"door_coords":{"x":-823.1449584960938,"y":-710.4473266601563,"z":32.48659896850586}},{"model_hash":1403720845,"unique_id":"7h7Kd9PL04Z2XXi4h1cs8","text_dimensions":-1.00120111359222,"door_coords":{"x":-823.1449584960938,"y":-708.4456787109375,"z":32.48659896850586}}],"door_name":"Meeting Room","default_state":true,"state":true,"secret":false,"door_sound":"door_regular.ogg","door_type":"double","lockpickable":false,"camera":true,"distance":2},{"id":17,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Triad Records","door_data":[{"model_hash":693644064,"unique_id":"pfs4Rht1viVwB-BqzMQa0","text_dimensions":1.29968102825744,"door_coords":{"x":-822.0344848632813,"y":-715.693359375,"z":32.48664855957031}}],"door_name":"Studio","default_state":true,"state":false,"secret":false,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"camera":true,"distance":2},{"id":18,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Triad Records","door_data":[{"model_hash":693644064,"unique_id":"a-8aI-GKJ3A_ySwLoysRZ","text_dimensions":1.29968102825744,"door_coords":{"x":-822.0344848632813,"y":-703.1275634765625,"z":32.48664855957031}}],"door_name":"CEO","default_state":true,"state":true,"secret":false,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"camera":true,"distance":2},{"id":19,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Triad Records","door_data":[{"model_hash":390840000,"unique_id":"vSU2ZBPGXrCvOBFF-EbjV","text_dimensions":1.30108694894408,"door_coords":{"x":-818.737060546875,"y":-724.0592041015625,"z":32.52227401733398}}],"door_name":"Recording Room","default_state":false,"state":false,"secret":false,"door_sound":"door_click.ogg","door_type":"single","lockpickable":false,"camera":true,"distance":2}]} \ No newline at end of file diff --git a/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/triads.json b/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/triads.json new file mode 100644 index 000000000..4d1d1fb94 --- /dev/null +++ b/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/triads.json @@ -0,0 +1 @@ +{"name":"triads.json","imported":false,"data":[{"id":1,"perms":{"job":[{"name":"triads","grade":0}],"identifier":[]},"location_group":"Triads","door_data":[{"model_hash":-636132164,"unique_id":"WjbRlw-DPsf1WkNhk4VeC","text_dimensions":-1.24122721075409,"door_coords":{"x":-637.3693237304688,"y":-1249.239990234375,"z":11.94555854797363}},{"model_hash":1215119726,"unique_id":"5ky06pPI7P7DZG8SCdiAA","text_dimensions":-1.24122721075409,"door_coords":{"x":-639.8295288085938,"y":-1248.908203125,"z":11.94555854797363}}],"door_name":"Entrance","secret":false,"state":true,"default_state":true,"door_sound":"door_regular.ogg","door_type":"double","lockpickable":false,"camera":true,"distance":2},{"id":2,"perms":{"job":[{"name":"triads","grade":0}],"identifier":[]},"location_group":"Triads","door_data":[{"model_hash":-636132164,"unique_id":"vH3yzgkCxoMQqQT-EEDDj","text_dimensions":-1.24122721075409,"door_coords":{"x":-644.4833374023438,"y":-1227.172607421875,"z":11.68207931518554}},{"model_hash":1215119726,"unique_id":"rGm_ss9e8c197PEhuTT_A","text_dimensions":-1.24122721075409,"door_coords":{"x":-643.1560668945313,"y":-1229.2705078125,"z":11.68207931518554}}],"door_name":"Rear Entrance","secret":false,"state":true,"default_state":true,"door_sound":"door_regular.ogg","door_type":"double","lockpickable":false,"camera":true,"distance":2},{"id":3,"perms":{"job":[{"name":"triads","grade":0}],"identifier":[]},"location_group":"Triads","door_data":[{"model_hash":-932312205,"unique_id":"2m1aNvh8AnhYd_25oWJQ5","text_dimensions":-0.92723370598388,"door_coords":{"x":-644.3853149414063,"y":-1234.34765625,"z":10.5670747756958}},{"model_hash":-932312205,"unique_id":"ybWZVggWYSjtcmPAvMHsy","text_dimensions":-0.92723370598388,"door_coords":{"x":-643.3903198242188,"y":-1235.9173583984376,"z":10.5670747756958}}],"door_name":"Main Room","secret":false,"state":false,"default_state":true,"door_sound":"door_regular.ogg","door_type":"double","lockpickable":false,"camera":true,"distance":2},{"id":4,"perms":{"job":[{"name":"triads","grade":0}],"identifier":[]},"location_group":"Triads","door_data":[{"model_hash":-1592535808,"unique_id":"u_p0968VOCtA5zUqusx_u","text_dimensions":-1.26961718147919,"door_coords":{"x":-650.9556274414063,"y":-1233.1766357421876,"z":11.74860000610351}}],"door_name":"Planning Room","secret":false,"state":true,"default_state":true,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"camera":true,"distance":2},{"id":5,"perms":{"job":[{"name":"triads","grade":0}],"identifier":[]},"location_group":"Triads","door_data":[{"model_hash":-1592535808,"unique_id":"9TX9cJrM2SyeThshduwO5","text_dimensions":-1.26961718147919,"door_coords":{"x":-649.8510131835938,"y":-1242.966064453125,"z":11.74860000610351}}],"door_name":"Office","secret":false,"state":true,"default_state":true,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"camera":true,"distance":2},{"id":6,"perms":{"job":[{"name":"triads","grade":0}],"identifier":[]},"location_group":"Triads","door_data":[{"model_hash":-1592535808,"unique_id":"XSRftFx70fXmlUF5hOQuL","text_dimensions":-1.26961718147919,"door_coords":{"x":-642.6424560546875,"y":-1238.4056396484376,"z":11.74860000610351}}],"door_name":"Toilet","secret":false,"state":false,"default_state":false,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"camera":false,"distance":2}]} \ No newline at end of file diff --git a/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/tuner_shop.json b/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/tuner_shop.json new file mode 100644 index 000000000..527ba4c22 --- /dev/null +++ b/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/tuner_shop.json @@ -0,0 +1 @@ +{"name":"tuner_shop.json","imported":false,"data":[{"id":1,"perms":{"job":[{"name":"mechanic","grade":0}],"identifier":[]},"location_group":"Tuner Shop","door_data":[{"model_hash":-456733639,"unique_id":"Av94MNAhXvBkQ2nu5IlBy","text_dimensions":0,"door_coords":{"x":153.4243621826172,"y":-3023.88916015625,"z":10.93132209777832}}],"door_name":"Garage Door 1","camera":true,"state":true,"secret":false,"door_sound":"door_switch.ogg","door_type":"garage","lockpickable":false,"default_state":true,"distance":10},{"id":2,"perms":{"job":[{"name":"mechanic","grade":0}],"identifier":[]},"location_group":"Tuner Shop","door_data":[{"model_hash":-456733639,"unique_id":"ozF4pU2TVR0ZXEikDYMT1","text_dimensions":0,"door_coords":{"x":153.4248809814453,"y":-3034.05126953125,"z":10.93116474151611}}],"door_name":"Garage Door 2","camera":true,"state":true,"secret":false,"door_sound":"door_switch.ogg","door_type":"garage","lockpickable":false,"default_state":true,"distance":10},{"id":3,"perms":{"job":[{"name":"mechanic","grade":0}],"identifier":[]},"location_group":"Tuner Shop","door_data":[{"model_hash":-2023754432,"unique_id":"aNGEJhjj2eKLGJpTZMibf","text_dimensions":1.3113248348236,"door_coords":{"x":154.93446350097657,"y":-3017.322998046875,"z":7.19067859649658}}],"door_name":"Entrance","camera":true,"state":true,"secret":false,"door_sound":"door_metal.ogg","door_type":"single","lockpickable":false,"default_state":true,"distance":2},{"id":4,"perms":{"job":[{"name":"mechanic","grade":0}],"identifier":[]},"location_group":"Tuner Shop","door_data":[{"model_hash":-1229046235,"unique_id":"Jd0vvgnSd26jdLBf4zRHZ","text_dimensions":-1.3065949678421,"door_coords":{"x":151.466796875,"y":-3011.705078125,"z":7.25836658477783}}],"door_name":"Lockers","camera":true,"state":true,"secret":false,"door_sound":"door_metal.ogg","door_type":"single","lockpickable":false,"default_state":true,"distance":2}]} \ No newline at end of file diff --git a/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/uwu_cafe.json b/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/uwu_cafe.json new file mode 100644 index 000000000..d52807772 --- /dev/null +++ b/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/uwu_cafe.json @@ -0,0 +1,5 @@ +{ + "imported": false, + "data": [{"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"id":1,"location_group":"UwU Cafe","distance":2,"door_name":"Front Doors","camera":false,"door_data":[{"unique_id":"pWrF4QBZMeNIuWkIAniif","model_hash":-69331849,"door_coords":{"y":-1069.627197265625,"z":22.48974800109863,"x":-580.361083984375},"text_dimensions":-0.7333447933197},{"unique_id":"90teAuBWOmjORWBbBrRWB","model_hash":526179188,"door_coords":{"y":-1069.627197265625,"z":22.48974800109863,"x":-581.6677856445313},"text_dimensions":0.7333447933197}],"default_state":true,"secret":false,"door_sound":"door_regular.ogg","lockpickable":false,"door_type":"double","state":true},{"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"id":2,"location_group":"UwU Cafe","distance":2,"door_name":"Locker Room","camera":false,"door_data":[{"unique_id":"kK6pztKrOckSihtPnSLom","model_hash":-1283712428,"door_coords":{"y":-1051.8994140625,"z":22.41300582885742,"x":-587.3400268554688},"text_dimensions":-1.38800004869699}],"default_state":true,"secret":false,"door_sound":"door_regular.ogg","lockpickable":false,"door_type":"single","state":true},{"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"id":3,"location_group":"UwU Cafe","distance":2,"door_name":"Kitchen","camera":false,"door_data":[{"unique_id":"xGSVBgCGthnd0Ki3tIO2g","model_hash":-60871655,"door_coords":{"y":-1054.14794921875,"z":22.41300582885742,"x":-590.1828002929688},"text_dimensions":-1.38800004869699}],"default_state":true,"secret":false,"door_sound":"door_regular.ogg","lockpickable":false,"door_type":"single","state":true},{"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"id":4,"location_group":"UwU Cafe","distance":2,"door_name":"Warhouse Door","camera":false,"door_data":[{"unique_id":"pwdJVcRRv0mh40ARzk6qn","model_hash":-60871655,"door_coords":{"y":-1056.09130859375,"z":22.41300582885742,"x":-592.4738159179688},"text_dimensions":-1.38800004869699}],"default_state":true,"secret":false,"door_sound":"door_regular.ogg","lockpickable":false,"door_type":"single","state":true},{"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"id":5,"location_group":"UwU Cafe","distance":2,"door_name":"Office","camera":false,"door_data":[{"unique_id":"ZDmOxPGBxZP2ePC5rB3z3","model_hash":2089009131,"door_coords":{"y":-1049.7686767578126,"z":22.49712753295898,"x":-594.4122924804688},"text_dimensions":-1.31781597249209}],"default_state":true,"secret":false,"door_sound":"door_regular.ogg","lockpickable":false,"door_type":"single","state":true},{"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"id":6,"location_group":"UwU Cafe","distance":2,"door_name":"Garage Door","camera":false,"door_data":[{"unique_id":"zpjHUiTaUb_6OXUZ4IshG","model_hash":522844070,"door_coords":{"y":-1059.2176513671876,"z":21.72342109680175,"x":-600.9105834960938},"text_dimensions":0}],"default_state":true,"secret":false,"door_sound":"door_metal.ogg","lockpickable":false,"door_type":"garage","state":true},{"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"id":7,"location_group":"UwU Cafe","distance":2,"door_name":"Fire Exit","camera":false,"door_data":[{"unique_id":"3zYsxNEIr6zOUxGNjHtTM","model_hash":1099436502,"door_coords":{"y":-1055.1314697265626,"z":22.71302795410156,"x":-600.8886108398438},"text_dimensions":1.30020797584438}],"default_state":true,"secret":false,"door_sound":"door_regular.ogg","lockpickable":false,"door_type":"single","state":true}], + "name": "uwu_cafe.json" +} \ No newline at end of file diff --git a/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/vagos.json b/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/vagos.json new file mode 100644 index 000000000..f7a56410a --- /dev/null +++ b/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/vagos.json @@ -0,0 +1 @@ +{"name":"vagos.json","imported":false,"data":[{"id":1,"perms":{"job":[{"name":"vagos","grade":0}],"identifier":[]},"location_group":"Vagos","door_data":[{"unique_id":"5GDbcxr9Hru_nBX9HAoyD","model_hash":2118614536,"text_dimensions":-1.312224984169,"door_coords":{"x":324.7153015136719,"y":-1991.085693359375,"z":24.36291313171386}}],"door_name":"Entrance","secret":false,"state":true,"camera":true,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"default_state":true,"distance":2},{"id":2,"perms":{"job":[{"name":"vagos","grade":0}],"identifier":[]},"location_group":"Vagos","door_data":[{"unique_id":"nLAZ_GfJUwA72kbGPb8kb","model_hash":1763005348,"text_dimensions":-1.28941302756246,"door_coords":{"x":325.7207946777344,"y":-1992.8177490234376,"z":24.35715103149414}}],"door_name":"Planning Room","secret":false,"state":true,"camera":true,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"default_state":true,"distance":2},{"id":3,"perms":{"job":[{"name":"vagos","grade":0}],"identifier":[]},"location_group":"Vagos","door_data":[{"unique_id":"SYOepAxdw-wby90qk_UOg","model_hash":2118614536,"text_dimensions":-1.312224984169,"door_coords":{"x":336.7447814941406,"y":-1991.843505859375,"z":24.36291313171386}}],"door_name":"Rear Entrance","secret":false,"state":true,"camera":true,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"default_state":true,"distance":2},{"id":4,"perms":{"job":[{"name":"vagos","grade":0}],"identifier":[]},"location_group":"Vagos","door_data":[{"unique_id":"IomiJC9PBDIkDSfzmWje7","model_hash":1763005348,"text_dimensions":-1.28941302756246,"door_coords":{"x":334.6651611328125,"y":-1990.0810546875,"z":24.35715103149414}}],"door_name":"Hallway","secret":false,"state":false,"camera":true,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"default_state":false,"distance":2},{"id":5,"perms":{"job":[{"name":"vagos","grade":0}],"identifier":[]},"location_group":"Vagos","door_data":[{"unique_id":"LX7-f-FW3oU30nqK0yidY","model_hash":1763005348,"text_dimensions":-1.28941302756246,"door_coords":{"x":335.9012451171875,"y":-1984.5367431640626,"z":24.35715103149414}}],"door_name":"Office","secret":false,"state":true,"camera":true,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"default_state":true,"distance":2},{"id":6,"perms":{"job":[{"name":"vagos","grade":0}],"identifier":[]},"location_group":"Vagos","door_data":[{"unique_id":"35je0dP-oU5_6ssTVzG-e","model_hash":1763005348,"text_dimensions":-1.28941302756246,"door_coords":{"x":336.7800903320313,"y":-1985.274169921875,"z":24.35715103149414}}],"door_name":"Toilet","secret":false,"state":false,"camera":false,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"default_state":false,"distance":2}]} \ No newline at end of file diff --git a/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/vanilla_unicorn.json b/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/vanilla_unicorn.json new file mode 100644 index 000000000..abe4b4645 --- /dev/null +++ b/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/vanilla_unicorn.json @@ -0,0 +1 @@ +{"name":"vanilla_unicorn.json","imported":false,"data":[{"id":1,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Vanilla Unicorn","door_data":[{"unique_id":"RjO6ppBeb2AdGhQGqLYhX","model_hash":-1116041313,"text_dimensions":1.29986200378334,"door_coords":{"x":127.95006561279296,"y":-1298.506591796875,"z":29.41962242126465}}],"door_name":"Entrance","default_state":false,"state":false,"secret":false,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"camera":true,"distance":2},{"id":2,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Vanilla Unicorn","door_data":[{"unique_id":"00On8_GzoFv3ucbwFTFzm","model_hash":1695461688,"text_dimensions":1.30109897474176,"door_coords":{"x":128.07080078125,"y":-1279.3466796875,"z":29.43696784973144}}],"door_name":"DJ Booth","default_state":true,"state":true,"secret":false,"door_sound":"","door_type":"single","lockpickable":false,"camera":true,"distance":2},{"id":3,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Vanilla Unicorn","door_data":[{"unique_id":"Q9rr4wd3y5Rx5V7i_7GRT","model_hash":390840000,"text_dimensions":1.30108694894408,"door_coords":{"x":116.2277603149414,"y":-1294.592529296875,"z":29.43598937988281}}],"door_name":"Premium Lounge","default_state":false,"state":false,"secret":false,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"camera":true,"distance":2},{"id":4,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Vanilla Unicorn","door_data":[{"unique_id":"W8YZ03RiwhodljOqBajSH","model_hash":390840000,"text_dimensions":1.30108694894408,"door_coords":{"x":113.41009521484377,"y":-1296.260009765625,"z":29.43598937988281}}],"door_name":"Dressing Room","default_state":true,"state":true,"secret":false,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"camera":true,"distance":2},{"id":5,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Vanilla Unicorn","door_data":[{"unique_id":"E9lFoU1r3-9nAIVkbGnqB","model_hash":390840000,"text_dimensions":1.30108694894408,"door_coords":{"x":99.08306884765624,"y":-1293.6890869140626,"z":29.44040489196777}}],"door_name":"Office","default_state":true,"state":true,"secret":false,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"camera":true,"distance":2},{"id":6,"perms":{"job":[{"name":"police","grade":0}],"identifier":[]},"location_group":"Vanilla Unicorn","door_data":[{"unique_id":"he1uNgjyCaJPKgYY1LhAk","model_hash":1695461688,"text_dimensions":1.30109897474176,"door_coords":{"x":96.09197235107422,"y":-1284.853759765625,"z":29.43878364562988}}],"door_name":"Exit","default_state":true,"state":true,"secret":false,"door_sound":"door_regular.ogg","door_type":"single","lockpickable":false,"camera":true,"distance":2}]} \ No newline at end of file diff --git a/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/weed_camp.json b/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/weed_camp.json new file mode 100644 index 000000000..2afda5f1f --- /dev/null +++ b/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/gabz_locations/weed_camp.json @@ -0,0 +1 @@ +{"name":"weed_camp.json","imported":false,"data":[{"door_type":"single","id":1,"auto_lock":"","camera":false,"perms":{"discord":[],"ace":[],"job":[{"grade":0,"name":"police"}],"identifier":[]},"door_sound":"door_wooden.ogg","door_data":[{"door_coords":{"x":2187.753662109375,"y":5573.41650390625,"z":54.02808380126953},"model_hash":363295477,"text_dimensions":-1.28941346645342,"unique_id":"6yNlQkApKvR9e4Z31X9IG"}],"door_name":"Office","default_state":true,"location_group":"Weed Camp","state":true,"secret":false,"lockpickable":false,"distance":2},{"door_type":"single","id":2,"auto_lock":"","camera":false,"perms":{"discord":[],"ace":[],"job":[{"grade":0,"name":"police"}],"identifier":[]},"door_sound":"door_wooden.ogg","door_data":[{"door_coords":{"x":2186.557861328125,"y":5578.07568359375,"z":54.02808380126953},"model_hash":363295477,"text_dimensions":-1.28941346645342,"unique_id":"BlOfeyBRHmQhUTLrMTy14"}],"door_name":"Locker Room","default_state":true,"location_group":"Weed Camp","state":true,"secret":false,"lockpickable":false,"distance":2},{"door_type":"single","id":3,"auto_lock":"","camera":false,"perms":{"discord":[],"ace":[],"job":[{"grade":0,"name":"police"}],"identifier":[]},"door_sound":"door_wooden.ogg","door_data":[{"door_coords":{"x":2189.86474609375,"y":5578.07568359375,"z":54.02808380126953},"model_hash":363295477,"text_dimensions":-1.28941346645342,"unique_id":"M12pBBqIe8EEb7BTUGUPv"}],"door_name":"Bathroom","default_state":true,"location_group":"Weed Camp","state":true,"secret":false,"lockpickable":false,"distance":2},{"door_type":"single","id":4,"auto_lock":"","camera":false,"perms":{"discord":[],"ace":[],"job":[{"grade":0,"name":"police"}],"identifier":[]},"door_sound":"door_metal.ogg","door_data":[{"door_coords":{"x":2196.78125,"y":5570.08349609375,"z":54.05622482299805},"model_hash":819505495,"text_dimensions":-1.30224609375,"unique_id":"LYTMdkph851V9_UP9dJtk"}],"door_name":"Entrance","default_state":true,"location_group":"Weed Camp","state":true,"secret":false,"lockpickable":false,"distance":2}]} \ No newline at end of file diff --git a/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/location_groups.json b/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/location_groups.json new file mode 100644 index 000000000..0637a088a --- /dev/null +++ b/resources/cd_doorlock/JSON files/INSTALLATION STEP FROM DOCS/location_groups.json @@ -0,0 +1 @@ +[] \ No newline at end of file diff --git a/resources/cd_doorlock/READ_ME_AFTER_PURCHASING/READ_ME.md b/resources/cd_doorlock/READ_ME_AFTER_PURCHASING/READ_ME.md new file mode 100644 index 000000000..0645e1758 --- /dev/null +++ b/resources/cd_doorlock/READ_ME_AFTER_PURCHASING/READ_ME.md @@ -0,0 +1 @@ +https://docs.codesign.pro/paid-scripts/door-lock \ No newline at end of file diff --git a/resources/cd_doorlock/client/client.lua b/resources/cd_doorlock/client/client.lua new file mode 100644 index 0000000000000000000000000000000000000000..e3e245157abcc4611b5cd691fe516c3ae34368d2 GIT binary patch literal 26815 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 d.grade and on_duty then + return true + end + end + + elseif Config.Framework == 'qbcore' then + for c, d in pairs(door_perms_data.job) do + if (JobData.name == d.name and JobData.grade.level >= d.grade and on_duty) or (GangData.name == d.name and GangData.grade.level >= d.grade) then + return true + end + end + + elseif Config.Framework == 'vrp' then + return Callback('check_door_perms_vrp', door_perms_data.job) + + elseif Config.Framework == 'other' then + --add your own permissions check here (boolean). + return true + end + end + if Config.DoorAccessPerms.Identifiers or Config.DoorAccessPerms.AcePerms or Config.DoorAccessPerms.Discord or Config.DoorAccessPerms.Items then + if (door_perms_data.identifier and #door_perms_data.identifier > 0) or (door_perms_data.ace and #door_perms_data.ace > 0) or (door_perms_data.discord and #door_perms_data.discord > 0) or (door_perms_data.items and #door_perms_data.items > 0) then + return Callback('check_door_perms_all', door_perms_data) + end + end + + return false +end + +function CheckAdminPerms() + return Callback('check_admin_perms') +end + + +--██╗ ██╗███████╗██╗ ██╗███████╗ █████╗ ███╗ ██╗██████╗ ██████╗ ██████╗ ███╗ ███╗███╗ ███╗ █████╗ ███╗ ██╗██████╗ ███████╗ +--██║ ██╔╝██╔════╝╚██╗ ██╔╝██╔════╝ ██╔══██╗████╗ ██║██╔══██╗ ██╔════╝██╔═══██╗████╗ ████║████╗ ████║██╔══██╗████╗ ██║██╔══██╗██╔════╝ +--█████╔╝ █████╗ ╚████╔╝ ███████╗ ███████║██╔██╗ ██║██║ ██║ ██║ ██║ ██║██╔████╔██║██╔████╔██║███████║██╔██╗ ██║██║ ██║███████╗ +--██╔═██╗ ██╔══╝ ╚██╔╝ ╚════██║ ██╔══██║██║╚██╗██║██║ ██║ ██║ ██║ ██║██║╚██╔╝██║██║╚██╔╝██║██╔══██║██║╚██╗██║██║ ██║╚════██║ +--██║ ██╗███████╗ ██║ ███████║ ██║ ██║██║ ╚████║██████╔╝ ╚██████╗╚██████╔╝██║ ╚═╝ ██║██║ ╚═╝ ██║██║ ██║██║ ╚████║██████╔╝███████║ +--╚═╝ ╚═╝╚══════╝ ╚═╝ ╚══════╝ ╚═╝ ╚═╝╚═╝ ╚═══╝╚═════╝ ╚═════╝ ╚═════╝ ╚═╝ ╚═╝╚═╝ ╚═╝╚═╝ ╚═╝╚═╝ ╚═══╝╚═════╝ ╚══════╝ + + +TriggerEvent('chat:addSuggestion', '/'..Config.OpenDoorMenu.command, L('command_opendoormenu')) +RegisterCommand(Config.OpenDoorMenu.command, function() + TriggerEvent('cd_doorlock:OpenDoorLockMenu') +end) + +RegisterKeyMapping(Config.ToggleDoorLock.command, L('command_toggledoorlock'), 'keyboard', Config.ToggleDoorLock.key) +TriggerEvent('chat:addSuggestion', '/'..Config.ToggleDoorLock.command, L('command_toggledoorlock')) +RegisterCommand(Config.ToggleDoorLock.command, function() + TriggerEvent('cd_doorlock:ToggleDoorState') +end) + + +-- ██╗ ██████╗ ██████╗██╗ ██╗██████╗ ██╗ ██████╗██╗ ██╗██╗███╗ ██╗ ██████╗ +-- ██║ ██╔═══██╗██╔════╝██║ ██╔╝██╔══██╗██║██╔════╝██║ ██╔╝██║████╗ ██║██╔════╝ +-- ██║ ██║ ██║██║ █████╔╝ ██████╔╝██║██║ █████╔╝ ██║██╔██╗ ██║██║ ███╗ +-- ██║ ██║ ██║██║ ██╔═██╗ ██╔═══╝ ██║██║ ██╔═██╗ ██║██║╚██╗██║██║ ██║ +-- ███████╗╚██████╔╝╚██████╗██║ ██╗██║ ██║╚██████╗██║ ██╗██║██║ ╚████║╚██████╔╝ +-- ╚══════╝ ╚═════╝ ╚═════╝╚═╝ ╚═╝╚═╝ ╚═╝ ╚═════╝╚═╝ ╚═╝╚═╝╚═╝ ╚═══╝ ╚═════╝ + + +function StartLockpicking() + if math.random(1, 100) <= Config.LockpickItems.police_alert_chance then + PoliceDispatchAlert() + end + + if GetResourceState('cd_keymaster') == 'started' then + local result = exports['cd_keymaster']:StartKeyMaster() + return result + else + --Add your own lockpick/minigame here. You must return a boolean (true or false). + print('^1You must configure a lockpick/minigame resource to use this feature.^0') + return false + end +end + +function PoliceDispatchAlert() + if GetResourceState('cd_dispatch') == 'started' then + local data = exports['cd_dispatch']:GetPlayerInfo() + TriggerServerEvent('cd_dispatch:AddNotification', { + job_table = {'police', }, + coords = data.coords, + title = '10-15 - Lock picking', + message = 'A '..data.sex..' is lock picking a door at '..data.street, + flash = 0, + unique_id = data.unique_id, + sound = 1, + blip = { + sprite = 431, + scale = 1.2, + colour = 3, + flashes = false, + text = '911 - Lock picking', + time = 5, + radius = 0, + } + }) + else + --Add your own police dispatch alert here. + print('^1You must configure a dispatch resource to use this feature.^0') + end +end + + +--███╗ ██╗ ██████╗ ████████╗██╗███████╗██╗ ██████╗ █████╗ ████████╗██╗ ██████╗ ███╗ ██╗███████╗ +--████╗ ██║██╔═══██╗╚══██╔══╝██║██╔════╝██║██╔════╝██╔══██╗╚══██╔══╝██║██╔═══██╗████╗ ██║██╔════╝ +--██╔██╗ ██║██║ ██║ ██║ ██║█████╗ ██║██║ ███████║ ██║ ██║██║ ██║██╔██╗ ██║███████╗ +--██║╚██╗██║██║ ██║ ██║ ██║██╔══╝ ██║██║ ██╔══██║ ██║ ██║██║ ██║██║╚██╗██║╚════██║ +--██║ ╚████║╚██████╔╝ ██║ ██║██║ ██║╚██████╗██║ ██║ ██║ ██║╚██████╔╝██║ ╚████║███████║ +--╚═╝ ╚═══╝ ╚═════╝ ╚═╝ ╚═╝╚═╝ ╚═╝ ╚═════╝╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚═════╝ ╚═╝ ╚═══╝╚══════╝ + + +function Notification(notif_type, message) + if notif_type and message then + if Config.Notification == 'esx' then + ESX.ShowNotification(message) + + elseif Config.Notification == 'qbcore' then + if notif_type == 1 then + QBCore.Functions.Notify(message, 'success') + elseif notif_type == 2 then + QBCore.Functions.Notify(message, 'primary') + elseif notif_type == 3 then + QBCore.Functions.Notify(message, 'error') + end + + elseif Config.Notification == 'cd_notifications' then + if notif_type == 1 then + TriggerEvent('cd_notifications:Add', {title = L('doorlock'), message = message, type = 'success', options = {duration = 5}}) + elseif notif_type == 2 then + TriggerEvent('cd_notifications:Add', {title = L('doorlock'), message = message, type = 'inform', options = {duration = 5}}) + elseif notif_type == 3 then + TriggerEvent('cd_notifications:Add', {title = L('doorlock'), message = message, type = 'error', options = {duration = 5}}) + end + + elseif Config.Notification == 'okokNotify' then + if notif_type == 1 then + exports['okokNotify']:Alert(L('doorlock'), message, 5000, 'success') + elseif notif_type == 2 then + exports['okokNotify']:Alert(L('doorlock'), message, 5000, 'info') + elseif notif_type == 3 then + exports['okokNotify']:Alert(L('doorlock'), message, 5000, 'error') + end + + elseif Config.Notification == 'ps-ui' then + if notif_type == 1 then + exports['ps-ui']:Notify(message, 'success', 5000) + elseif notif_type == 2 then + exports['ps-ui']:Notify(message, 'primary', 5000) + elseif notif_type == 3 then + exports['ps-ui']:Notify(message, 'error', 5000) + end + + elseif Config.Notification == 'ox_lib' then + if notif_type == 1 then + lib.notify({title = L('doorlock'), description = message, type = 'success'}) + elseif notif_type == 2 then + lib.notify({title = L('doorlock'), description = message, type = 'inform'}) + elseif notif_type == 3 then + lib.notify({title = L('doorlock'), description = message, type = 'error'}) + end + + elseif Config.Notification == 'chat' then + TriggerEvent('chatMessage', message) + + elseif Config.Notification == 'other' then + --add your own notification. + + end + end +end + + +--██████╗ ███████╗██████╗ ██╗ ██╗ ██████╗ +--██╔══██╗██╔════╝██╔══██╗██║ ██║██╔════╝ +--██║ ██║█████╗ ██████╔╝██║ ██║██║ ███╗ +--██║ ██║██╔══╝ ██╔══██╗██║ ██║██║ ██║ +--██████╔╝███████╗██████╔╝╚██████╔╝╚██████╔╝ +--╚═════╝ ╚══════╝╚═════╝ ╚═════╝ ╚═════╝ + + +if Config.Debug then + local function Debug() + print('^6-----------------------^0') + print('^1CODESIGN DEBUG^0') + print(string.format('^6Resource Name:^0 %s', GetCurrentResourceName())) + print(string.format('^6Framework:^0 %s', Config.Framework)) + print(string.format('^6Notification:^0 %s', Config.Notification)) + print(string.format('^6Language:^0 %s', Config.Language)) + if Config.Framework == 'esx' then + while JobData.name == nil do Wait(0) end + print(string.format('^6Job Name:^0 %s', JobData.name)) + print(string.format('^6Job Grade:^0 %s', JobData.grade)) + elseif Config.Framework == 'qbcore' then + while JobData.name == nil do Wait(0) end + print(string.format('^6Job Name:^0 %s', JobData.name)) + print(string.format('^6Job Grade:^0 %s', JobData.grade.level)) + print(string.format('^6Gang Name:^0 %s', GangData.name)) + print(string.format('^6Gang Grade:^0 %s', GangData.grade.level)) + end + print(string.format('^6Use Framework Duty System:^0 %s', Config.UseFrameworkDutySystem)) + print(string.format('^6On Duty:^0 %s', on_duty)) + print(string.format('^6Config.AdminAccess: [Framework: ^0%s^6] [Identifiers: ^0%s^6] [AcePerms: ^0%s^6] [Discord: ^0%s^6]', Config.AdminAccess.Framework.ENABLE, Config.AdminAccess.Identifiers.ENABLE, Config.AdminAccess.AcePerms.ENABLE, Config.AdminAccess.Discord.ENABLE)) + print(string.format('^6Config.DoorAccessPerms: [Framework: ^0%s^6] [Identifiers: ^0%s^6] [AcePerms: ^0%s^6] [Discord: ^0%s^6] [Items: ^0%s^6]', Config.DoorAccessPerms.Framework, Config.DoorAccessPerms.Identifiers, Config.DoorAccessPerms.AcePerms, Config.DoorAccessPerms.Discord, Config.DoorAccessPerms.Items)) + print(string.format('^6Admin Access:^0 %s', CheckAdminPerms())) + print('^6-----------------------^0') + TriggerServerEvent('cd_doorlock:Debug') + end + + CreateThread(function() + Wait(3000) + Debug() + end) + + RegisterCommand('debug_doorlock', function() + Debug() + end) +end \ No newline at end of file diff --git a/resources/cd_doorlock/configs/config.lua b/resources/cd_doorlock/configs/config.lua new file mode 100644 index 000000000..158ec5eaa --- /dev/null +++ b/resources/cd_doorlock/configs/config.lua @@ -0,0 +1,198 @@ +Config = {} +function L(cd) if Locales[Config.Language][cd] then return Locales[Config.Language][cd] else print('Locale is nil ('..cd..')') end end +--███████╗██████╗ █████╗ ███╗ ███╗███████╗██╗ ██╗ ██████╗ ██████╗ ██╗ ██╗ +--██╔════╝██╔══██╗██╔══██╗████╗ ████║██╔════╝██║ ██║██╔═══██╗██╔══██╗██║ ██╔╝ +--█████╗ ██████╔╝███████║██╔████╔██║█████╗ ██║ █╗ ██║██║ ██║██████╔╝█████╔╝ +--██╔══╝ ██╔══██╗██╔══██║██║╚██╔╝██║██╔══╝ ██║███╗██║██║ ██║██╔══██╗██╔═██╗ +--██║ ██║ ██║██║ ██║██║ ╚═╝ ██║███████╗╚███╔███╔╝╚██████╔╝██║ ██║██║ ██╗ +--╚═╝ ╚═╝ ╚═╝╚═╝ ╚═╝╚═╝ ╚═╝╚══════╝ ╚══╝╚══╝ ╚═════╝ ╚═╝ ╚═╝╚═╝ ╚═╝ + + +--WHAT DOES 'auto_detect' DO? +--The 'auto_detect' feature automatically identifies your framework and notification resource and applies the appropriate default settings. + +Config.Framework = 'auto_detect' --[ 'auto_detect' / 'other' ] If you select 'auto_detect', only ESX, QBCore, vRP and Standalone frameworks will be detected. Use 'other' for custom frameworks. +Config.Notification = 'auto_detect' --[ 'auto_detect' / 'other' ] If you select 'auto_detect', only ESX, QBCore, cd_notifications, okokNotify, ps-ui and ox_lib notifications will be detected. Use 'other' for custom notification resources. +Config.Language = 'EN' --[ 'EN' / 'DE' / 'NL' ] You can add your own locales to Locales.lua, but be sure to update the Config.Language to match it. + +Config.FrameworkTriggers = { + esx = { --If you have modified the default event names in the es_extended resource, change them here. + resource_name = 'es_extended', + main = 'esx:getSharedObject', + load = 'esx:playerLoaded', + job = 'esx:setJob' + }, + qbcore = { --If you have modified the default event names in the qb-core resource, change them here. + resource_name = 'qb-core', + main = 'QBCore:GetObject', + load = 'QBCore:Client:OnPlayerLoaded', + job = 'QBCore:Client:OnJobUpdate', + gang = 'QBCore:Client:OnGangUpdate', + duty = 'QBCore:Client:SetDuty' + } +} + + +--██╗███╗ ███╗██████╗ ██████╗ ██████╗ ████████╗ █████╗ ███╗ ██╗████████╗ +--██║████╗ ████║██╔══██╗██╔═══██╗██╔══██╗╚══██╔══╝██╔══██╗████╗ ██║╚══██╔══╝ +--██║██╔████╔██║██████╔╝██║ ██║██████╔╝ ██║ ███████║██╔██╗ ██║ ██║ +--██║██║╚██╔╝██║██╔═══╝ ██║ ██║██╔══██╗ ██║ ██╔══██║██║╚██╗██║ ██║ +--██║██║ ╚═╝ ██║██║ ╚██████╔╝██║ ██║ ██║ ██║ ██║██║ ╚████║ ██║ +--╚═╝╚═╝ ╚═╝╚═╝ ╚═════╝ ╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚═╝╚═╝ ╚═══╝ ╚═╝ + + +Config.Debug = false --To enable debug prints. +Config.UseFrameworkDutySystem = false --Do you want to use your frameworks (esx/qbcore) built-in duty system? + + +--███╗ ███╗ █████╗ ██╗███╗ ██╗ +--████╗ ████║██╔══██╗██║████╗ ██║ +--██╔████╔██║███████║██║██╔██╗ ██║ +--██║╚██╔╝██║██╔══██║██║██║╚██╗██║ +--██║ ╚═╝ ██║██║ ██║██║██║ ╚████║ +--╚═╝ ╚═╝╚═╝ ╚═╝╚═╝╚═╝ ╚═══╝ + + +Config.AdminAccess = { --A list of different methods where you can define which players have admin permissions to create/edit/delete/import doors on the in-game UI. + Framework = { --(ESX, QBcore & vRP only!) Ignore this framework section if you don't use a framework. + ['esx'] = {'superadmin', 'admin', }, + ['qbcore'] = {'god', 'admin', }, + ['vrp'] = {5, 6, 7, 8, 9, 10, } + }, + + Identifiers = { + ENABLE = true, --Do you want to allow players with specific fivem identifiers to use the admin features? + identifier_list = {'steam:xxxxx', 'license:xxxxx', 'fivem:xxxxx', }, --You can use a players steam, license or fivem id etc. + }, + + AcePerms = { + ENABLE = true, --Do you want to allow players with specific ace perms to use the admin features? + aceperms_list = {'doorlock.police', }, --Make sure you have your ace perms configured correctly in your server.cfg. + }, + + Discord = { --(REQUIRES Badger Discord API). + ENABLE = true, --Do you want to allow players with specific discord roles in your discord to use the admin features? + discord_list = {'xxxxx', 'xxxxx', }, --You must put the role id from your discord here (https://www.itgeared.com/how-to-get-role-id-on-discord). + } +} + + +Config.DoorAccessPerms = { --When creating/editing/deleting/importing doors, you always need to define which permission groups can lock/unlock these doors. Here you can choose which perms options are available to choose from on the in-game UI. + Identifiers = true, --Do you want to allow players to use doors based on their fivem identifiers? (license,steam,fivem etc) + AcePerms = true, --Do you want to allow players to use doors based on their ace perms? + Discord = true, --(REQUIRES Badger Discord API). Do you want to allow players to use doors based on their discord roles? + Items = true --(REQUIRES ESX/QBCore). Do you want to allow players to use doors based on the items they have in their inventory? +} + + +Config.DoorStateDisplay = { + DrawTextUI = true, --Do you want doors to display the lock/unlock state via the built in draw text UI? + Emojis = true, --Do you want doors to display the lock/unlock state via emojis? + Draw3DText = false, --Do you want doors to display the lock/unlock state via draw 3d text UI? + Notification = true --Do you want a notification to show after a door is locked/unlocked? +} + +Config.LockpickItems = { + ENABLE = true, --(ESX & QBcore only!) Do you want to require a playern to have an item in their inventory to lockpick a door? + usable_lockpick_item = true, --In addition to pressing E to lockpick a door, do you want to allow players to use a usable lockpick item from their inventory? + police_alert_chance = 50, --(0 = 0% chance, 100 = 100% chance) When a player is lockpicking a door, there is a chance that the police will be alerted. This is the percentage chance of this happening. + lockpick_items = { --Having at least 1 of these items in your inventory will allow a player to lockpick a door. + 'lockpick', + 'advanced_lockpick', + --'add_more_here', + } +} + + +--██╗ ██╗███████╗██╗ ██╗███████╗ █████╗ ███╗ ██╗██████╗ ██████╗ ██████╗ ███╗ ███╗███╗ ███╗ █████╗ ███╗ ██╗██████╗ ███████╗ +--██║ ██╔╝██╔════╝╚██╗ ██╔╝██╔════╝ ██╔══██╗████╗ ██║██╔══██╗ ██╔════╝██╔═══██╗████╗ ████║████╗ ████║██╔══██╗████╗ ██║██╔══██╗██╔════╝ +--█████╔╝ █████╗ ╚████╔╝ ███████╗ ███████║██╔██╗ ██║██║ ██║ ██║ ██║ ██║██╔████╔██║██╔████╔██║███████║██╔██╗ ██║██║ ██║███████╗ +--██╔═██╗ ██╔══╝ ╚██╔╝ ╚════██║ ██╔══██║██║╚██╗██║██║ ██║ ██║ ██║ ██║██║╚██╔╝██║██║╚██╔╝██║██╔══██║██║╚██╗██║██║ ██║╚════██║ +--██║ ██╗███████╗ ██║ ███████║ ██║ ██║██║ ╚████║██████╔╝ ╚██████╗╚██████╔╝██║ ╚═╝ ██║██║ ╚═╝ ██║██║ ██║██║ ╚████║██████╔╝███████║ +--╚═╝ ╚═╝╚══════╝ ╚═╝ ╚══════╝ ╚═╝ ╚═╝╚═╝ ╚═══╝╚═════╝ ╚═════╝ ╚═════╝ ╚═╝ ╚═╝╚═╝ ╚═╝╚═╝ ╚═╝╚═╝ ╚═══╝╚═════╝ ╚══════╝ + + +Config.OpenDoorMenu = { + ENABLE = true, --Do you want to allow player's open the door lock UI? + command = 'doorlockui' --The chat command. +} + +Config.ToggleDoorLock = { + ENABLE = true, --Do you want to allow player's to toggle door locks? + command = 'doorlock', --The chat command. + key = 'e' --The keypress. +} + + +-- ██████╗ ████████╗██╗ ██╗███████╗██████╗ +--██╔═══██╗╚══██╔══╝██║ ██║██╔════╝██╔══██╗ +--██║ ██║ ██║ ███████║█████╗ ██████╔╝ +--██║ ██║ ██║ ██╔══██║██╔══╝ ██╔══██╗ +--╚██████╔╝ ██║ ██║ ██║███████╗██║ ██║ +-- ╚═════╝ ╚═╝ ╚═╝ ╚═╝╚══════╝╚═╝ ╚═╝ + + +function Round(cd) return math.floor(cd+0.5) end +function Trim(cd) return cd:gsub('%s+', '') end + + +-- █████╗ ██╗ ██╗████████╗ ██████╗ ██████╗ ███████╗████████╗███████╗ ██████╗████████╗ +--██╔══██╗██║ ██║╚══██╔══╝██╔═══██╗ ██╔══██╗██╔════╝╚══██╔══╝██╔════╝██╔════╝╚══██╔══╝ +--███████║██║ ██║ ██║ ██║ ██║ ██║ ██║█████╗ ██║ █████╗ ██║ ██║ +--██╔══██║██║ ██║ ██║ ██║ ██║ ██║ ██║██╔══╝ ██║ ██╔══╝ ██║ ██║ +--██║ ██║╚██████╔╝ ██║ ╚██████╔╝ ██████╔╝███████╗ ██║ ███████╗╚██████╗ ██║ +--╚═╝ ╚═╝ ╚═════╝ ╚═╝ ╚═════╝ ╚═════╝ ╚══════╝ ╚═╝ ╚══════╝ ╚═════╝ ╚═╝ + + +-----DO NOT TOUCH ANYTHING BELOW THIS LINE UNLESS YOU KNOW WHAT YOU ARE DOING.----- +if Config.Framework == 'auto_detect' then + if GetResourceState(Config.FrameworkTriggers.esx.resource_name) == 'started' then + Config.Framework = 'esx' + elseif GetResourceState(Config.FrameworkTriggers.qbcore.resource_name) == 'started' then + Config.Framework = 'qbcore' + elseif GetResourceState('vrp') == 'started' then + Config.Framework = 'vrp' + else + Config.Framework = 'standalone' + end + if Config.Framework == 'esx' or Config.Framework == 'qbcore' then + for c, d in pairs(Config.FrameworkTriggers[Config.Framework]) do + Config.FrameworkTriggers[c] = d + end + Config.FrameworkTriggers.esx, Config.FrameworkTriggers.qbcore = nil, nil + end +end + +if Config.Notification == 'auto_detect' then + if GetResourceState('cd_notifications') == 'started' then + Config.Notification = 'cd_notifications' + elseif GetResourceState('okokNotify') == 'started' then + Config.Notification = 'okokNotify' + elseif GetResourceState('ps-ui') == 'started' then + Config.Notification = 'ps-ui' + elseif GetResourceState('ox_lib') == 'started' then + Config.Notification = 'ox_lib' + else + if Config.Framework == 'esx' or Config.Framework == 'qbcore' then + Config.Notification = Config.Framework + else + Config.Notification = 'chat' + end + end +end + +if GetResourceState('Badger_Discord_API') ~= 'started' then + Config.AdminAccess.Discord.ENABLE = false + Config.DoorAccessPerms.Discord = false +end + +if Config.Framework == 'esx' or Config.Framework == 'qbcore' or Config.Framework == 'other' then + Config.AdminAccess.Framework.ENABLE = true + Config.DoorAccessPerms.Framework = true +else + Config.AdminAccess.Framework.ENABLE = false + Config.DoorAccessPerms.Framework = false + Config.LockpickItems.ENABLE = false + Config.DoorAccessPerms.Items = false +end +-----DO NOT TOUCH ANYTHING ABOVE THIS LINE UNLESS YOU KNOW WHAT YOU ARE DOING.----- \ No newline at end of file diff --git a/resources/cd_doorlock/configs/config_ui.js b/resources/cd_doorlock/configs/config_ui.js new file mode 100644 index 000000000..e34a1308b --- /dev/null +++ b/resources/cd_doorlock/configs/config_ui.js @@ -0,0 +1,13 @@ +window['config'] = { + "door_name_max_length": 32, + "door_name_match": new RegExp(/[^a-zA-Z-\/\s\\0-9]/guis), + + "door_passcode_max_length": 8, + + "job_name_max_length": 32, + "job_name_match": new RegExp(/[^a-zA-Z0-9]/guis), + + "job_grade_max": 16, + + "identifier_max_length": 64 +} \ No newline at end of file diff --git a/resources/cd_doorlock/configs/locales.lua b/resources/cd_doorlock/configs/locales.lua new file mode 100644 index 000000000..b73cf12ee --- /dev/null +++ b/resources/cd_doorlock/configs/locales.lua @@ -0,0 +1,101 @@ +Locales = { + ['EN'] = { --english + ['data_not_cached'] = 'Please try again in a few seconds...', + ['camera_unavailable'] = 'Camera unavailable. Try again when you are closer to the door', + ['door_locked'] = 'Door locked', + ['door_unlocked'] = 'Door unlocked', + ['webhook_message_1'] = '**Player Info**\nSource: **%s**\nPlayer Name: **%s**\nIdentifier: **%s**\n\n**Door Data**\nLocation Group: **%s**\nDoor Name: **%s**\nDoor Type: **%s**', + ['webhook_message_2'] = '**Player Info**\nSource: **%s**\nPlayer Name: **%s**\nIdentifier: **%s**\n\n**Import File Data**\nFile Name: **%s**\nDoor Count: **%s**', + ['webhook_message_3'] = '**Player Info**\nSource: **%s**\nPlayer Name: **%s**\nIdentifier: **%s**\n\n**Location Group Data**\nGroup Name: **%s**\nDoor Count: **%s**', + ['create'] = 'Created New Door', + ['delete'] = 'Deleted Door', + ['edit'] = 'Edited Door', + ['add_import_data'] = 'Added Imported Doors', + ['remove_import_data'] = 'Removed Imported Doors', + ['remove_full_locationgroup'] = 'Removed Full Location Group Doors', + ['bot_name'] = 'Doorlock', + ['waypoint_set'] = 'Waypoint Set', + ['command_opendoormenu'] = 'Open door lock UI', + ['command_toggledoorlock'] = 'Toogle door lock', + ['drawtextui_door_locked'] = 'Locked

Press E to unlock', + ['drawtextui_door_unlocked'] = 'Unlocked

Press E to lock', + ['draw3dtext_door_locked'] = 'Press [E] to unlock', + ['draw3dtext_door_unlocked'] = 'Press [E] to lock', + ['emoji_door_locked'] = '🔒', + ['emoji_door_unlocked'] = '🔓', + ['lockpick_door_prompt'] = 'Press [E] again to lockpick this door', + ['doorlock'] = 'Door Lock', + ['missing_lockpick'] = 'You are missing the required lockpick item', + ['cant_lockpick_while_in_vehicle'] = 'Get out of the vehicle to lockpick a door', + ['cant_lockpick_unlocked_door'] = 'This door is already unlocked', + ['door_cant_be_lockpicked'] = 'This door cannot be lockpicked', + ['lockdown_group'] = 'This building is currently in lockdown. All dorrs are locked!', + ['unlockdown_group'] = 'This building is no longer in lockdown. All doors are unlocked!', + }, + + ['DE'] = { --german + ['data_not_cached'] = 'Versuche es in ein paar Sekunden erneut...', + ['camera_unavailable'] = 'Kamera nicht verfügbar, Bitte geh näher zur Tür!', + ['door_locked'] = 'Tür Abgeschlossen', + ['door_unlocked'] = 'Tür Aufgeschlossen', + ['webhook_message_1'] = '**Spieler Info**\nQuelle: **%s**\nSpieler Name: **%s**\nIdentifier: **%s**\n\n**Tür Daten**\nStandort Gruppe: **%s**\nTür Name: **%s**\nTür Typ: **%s**', + ['webhook_message_2'] = '**Spieler Info**\nQuelle: **%s**\nSpieler Name: **%s**\nIdentifier: **%s**\n\n**Importierte Daten**\nDatei Name: **%s**\nTür Anzahl: **%s**', + ['webhook_message_3'] = '**Spieler Info**\nQuelle: **%s**\nSpieler Name: **%s**\nIdentifier: **%s**\n\n**Standort Gruppen Daten**\nGruppen Name: **%s**\nTür Anzahl: **%s**', + ['create'] = 'Neue Tür erstellt', + ['delete'] = 'Tür gelöscht', + ['edit'] = 'Tür bearbeitet', + ['add_import_data'] = 'Importierte Türen hinzugefügt', + ['remove_import_data'] = 'Importierte Türen gelöscht', + ['remove_full_locationgroup'] = 'Alle Türen für Ort gelöscht', + ['bot_name'] = 'Doorlock', + ['waypoint_set'] = 'Wegpunkt gesetzt', + ['command_opendoormenu'] = 'Öffne Türschloss UI', + ['command_toggledoorlock'] = 'Benutze Türschloss', + ['drawtextui_door_locked'] = 'Locked

Press E to unlock', + ['drawtextui_door_unlocked'] = 'Unlocked

Press E to lock', + ['draw3dtext_door_locked'] = 'Press [E] to unlock', + ['draw3dtext_door_unlocked'] = 'Press [E] to lock', + ['emoji_door_locked'] = '🔒', + ['emoji_door_unlocked'] = '🔓', + ['lockpick_door_prompt'] = 'Press [E] again to lockpick this door', + ['doorlock'] = 'Door Lock', + ['missing_lockpick'] = 'You are missing the required lockpick item', + ['cant_lockpick_while_in_vehicle'] = 'Get out of the vehicle to lockpick a door', + ['cant_lockpick_unlocked_door'] = 'This door is already unlocked', + ['door_cant_be_lockpicked'] = 'This door cannot be lockpicked', + ['lockdown_group'] = 'This building is currently in lockdown. All dorrs are locked!', + ['unlockdown_group'] = 'This building is no longer in lockdown. All doors are unlocked!', + }, + + ['NL'] = { --dutch + ['data_not_cached'] = 'Probeer het over een paar seconden opnieuw...', + ['camera_unavailable'] = 'Camera niet beschikbaar. Probeer het opnieuw wanneer u dichter bij de deur bent', + ['door_locked'] = 'Deur op slot', + ['door_unlocked'] = 'Deur ontgrendeld', + ['webhook_message_1'] = '**Spelerinfo**\nBron: **%s**\nSpelernaam: **%s**\nID: **%s**\n\n**Deurgegevens* *\nLocatiegroep: **%s**\nDeurnaam: **%s**\nDeurtype: **%s**', + ['webhook_message_2'] = '**Spelerinfo**\nBron: **%s**\nSpelernaam: **%s**\nID: **%s**\n\n**Bestandsgegevens importeren **\nBestandsnaam: **%s**\nDoor Count: **%s**', + ['webhook_message_3'] = '**Spelerinfo**\nBron: **%s**\nSpelernaam: **%s**\nID: **%s**\n\n**Locatiegroepsgegevens **\nGroepsnaam: **%s**\nAantal deuren: **%s**', + ['create'] = 'Nieuwe deur gemaakt', + ['delete'] = 'Delete Deur', + ['edit'] = 'Bewerkte deur', + ['add_import_data'] = 'Geïmporteerde deuren toegevoegd', + ['remove_import_data'] = 'Geïmporteerde deuren verwijderd', + ['remove_full_locationgroup'] = 'Volledige locatiegroepsdeuren verwijderd', + ['bot_name'] = 'Deurslot', + ['waypoint_set'] = 'Waypoint-set', + ['command_opendoormenu'] = 'UI deurslot openen', + ['command_toggledoorlock'] = 'Toogle deurslot', + ['drawtextui_door_locked'] = 'Vergrendeld

Druk op E om te ontgrendelen', + ['drawtextui_door_unlocked'] = 'Ontgrendeld

Druk op E om te vergrendelen', + ['draw3dtext_door_locked'] = 'Druk op [E] om te ontgrendelen', + ['draw3dtext_door_unlocked'] = 'Druk op [E] om te vergrendelen', + ['emoji_door_locked'] = '🔒', + ['emoji_door_unlocked'] = '🔓', + ['missing_lockpick'] = 'You are missing the required lockpick item', + ['cant_lockpick_while_in_vehicle'] = 'Get out of the vehicle to lockpick a door', + ['cant_lockpick_unlocked_door'] = 'This door is already unlocked', + ['door_cant_be_lockpicked'] = 'This door cannot be lockpicked', + ['lockdown_group'] = 'This building is currently in lockdown. All dorrs are locked!', + ['unlockdown_group'] = 'This building is no longer in lockdown. All doors are unlocked!', + }, +} diff --git a/resources/cd_doorlock/configs/locales_ui.js b/resources/cd_doorlock/configs/locales_ui.js new file mode 100644 index 000000000..c5cb0a3c6 --- /dev/null +++ b/resources/cd_doorlock/configs/locales_ui.js @@ -0,0 +1,198 @@ +window['locales'] = { + main: { + info: "Door management", + version: "Doorlock 1.1.0", + logo: ``, + + alerts: { + door_selected: ["Door", "successfully selected", "Door(s) successfully selected."], + door_exists: "This door already exists - ", + door_does_not_exist: "This door is not in the system. Please create one first.", + }, + }, + camera: { + move: "Mouse - Move", + zoom: "Scroll - Zoom", + reverse: "Reverse Camera - Middle mouse", + exit: "Right click - Exit" + }, + + control: { + search: "Search for doors", + search_placeholder: "Door group or door name", + search_by_name: "Search by name", + search_by_group: "Search by group", + found: ["Found", "result(s)"], + + number: "#", + group: "Group", + name: "Name", + lock: "Lock", + unlock: "Unlock", + camera: "Camera", + visit: "Visit", + delete: "Delete", + delete_group: "Delete group", + + previous: "Previous", + next: "Next" + }, + + create: { + alerts: { + name_too_long: "The door name needs to be between 1 and 32 characters", + name_out_of_scope: "The name includes illegal characters. (Allowed - Upper and lower case letters, numbers, -, /, , _)", + location_group_not_set: "You need to select a location group!", + passcode_length_bad: "The length of the passcode can be from 0 to 8 numbers", + passcode_out_of_scope: "The passcode can only have numbers", + permissions_not_set: "For doors without a passcode you need to have at least one permission to set-up the door.", + + // Success + door_updated: "Door successfully updated.", + door_created: "Door successfully created.", + }, + + state_editing: "Editing", + state_create: "Create a door", + + select_a_door: "Select a new door or pick one from the list", + door_selection: "Door selection", + door_single: "Single door", + door_double: "Double door", + door_garage: "Garage door", + door_gate: "Gate", + door_double_gate: "Double gate", + door_edit: "Edit selected", + + button_update: "Update", + button_submit: "Submit", + button_delete: "Delete", + button_cancel: "Cancel", + button_clear: "Clear", + + all_doors: "All doors", + location: "Location", + + copy: "Copy", + paste: "Paste", + + form: { + alerts: { + location_group_has_doors: "Cannot remove a location group with doors attached to it!", + location_group_exists: "This group already exists.", + job_name_too_long: "The job/gang name needs to be between 1 and 32 characters", + job_name_out_of_scope: "The job/gang name includes illegal characters. (Allowed - Upper and lower case letters)", + job_grade_nan: "The job/gang grade needs to be a number!", + job_grade_too_large: "The job/gang grade needs to be a number between 0 and 16!", + + identifier_too_long: "The identifier needs to be less than 64 characters" + }, + + helpers: { + door_name: "The name which will identify the door", + location_group: "A named group which contains doors from the same location. E.g MRPD", + location_group_new: "Create new", + location_group_select: "Select location group", + location_group_none: "No groups", + job: "The job/gang name (left), and the job/gang grade (right). E.g. police 0", + identifier: "The identifier(s) of people which can access the door controls.", + ace: "The ace identifier which will be allowed to access the door.", + discord: "The discord role ID which will be allowed to access the door", + sound: "The sound which will be played when a door is locked and unlocked.", + sound_select: "Select the sound file", + locked: "The default state of the door. Ticked = locked", + lockpick: "Enables or disabled lockpicking. Ticket = enabled", + secret: "If selected the door will not display a lock and remain hidden when approached.", + camera: "Enables door camera usability.", + passcode: "A passcode which will be used to unlock the door. If there is no passcode set the door will not require it.", + distance: "The distance at which the door will become usable.", + autolock: "The amount of time in seconds after which the door will automatically lock.", + item: "The name of the item which will be allowed to open the door" + }, + + door_name: "Name", + location_group: "Location group", + permissions: "Permissions", + job: ["Job/gang name", "Grade"], + identifier: "Identifier", + ace: "Ace", + ace_placeholder: "doorlock.police", + discord: "Discord", + discord_placeholder: "779469416273281035", + sound: "Sound", + locked: "Locked", + lockpick: "Lockpick", + secret: "Secret", + camera: "Camera", + passcode: "Passcode", + distance: "Distance", + add: "Add", + autolock: "Auto lock", + item: "Item", + item_placeholder: "Item name" + }, + + selection: { + select: ["Press", "LMB", "to select a door"], + cancel: ["Press", "RMB", "to cancel selection"], + amount_selected: ["You have", "door(s) selected."], + } + }, + + delete: { + alerts: { + success: "Successfully deleted" + }, + notification: "This action will delete", // ... door name + irreversible: "This action is irreversible!", + are_you_sure: "Are you sure you want to delete this", // ... door / group + yes: "Yes, I am sure!", + no: "Cancel", + + type: ["door", "group"] + }, + + import: { + select: "Select to import", + select_helper: "Select a GABZ map to import its doors.", + + imported: "Imported", + imported_helper: "Remove doors from a GABZ map for unused maps", + + permissions: ["Default permissions", "When importing doors this job / grade will be used as a default.", "When importing doors this identifier will be used as a default."], + + + job: "Job", + grade: "Grade", + + identifier: "Identifier", + + no_permissions: "You need to add at least one permission in order to import doors." + }, + + navigation: { + create_edit: "Create / Edit", + control: "Control", + import: "Import", + settings: "Settings", + }, + + selector: { + icon: `` // from https://icons.getbootstrap.com/ + }, + + settings: { + scale: "UI Scale", + volume: "Sound volume" + }, + + permissions: { + framework: "Job/gang", + identifiers: "Identifier", + aceperms: "Ace", + discord: "Discord", + passcode: "Passcode", + items: "Items" + } + +} \ No newline at end of file diff --git a/resources/cd_doorlock/configs/server_customise_me.lua b/resources/cd_doorlock/configs/server_customise_me.lua new file mode 100644 index 000000000..986d22b7e --- /dev/null +++ b/resources/cd_doorlock/configs/server_customise_me.lua @@ -0,0 +1,464 @@ +--███████╗██████╗ █████╗ ███╗ ███╗███████╗██╗ ██╗ ██████╗ ██████╗ ██╗ ██╗ +--██╔════╝██╔══██╗██╔══██╗████╗ ████║██╔════╝██║ ██║██╔═══██╗██╔══██╗██║ ██╔╝ +--█████╗ ██████╔╝███████║██╔████╔██║█████╗ ██║ █╗ ██║██║ ██║██████╔╝█████╔╝ +--██╔══╝ ██╔══██╗██╔══██║██║╚██╔╝██║██╔══╝ ██║███╗██║██║ ██║██╔══██╗██╔═██╗ +--██║ ██║ ██║██║ ██║██║ ╚═╝ ██║███████╗╚███╔███╔╝╚██████╔╝██║ ██║██║ ██╗ +--╚═╝ ╚═╝ ╚═╝╚═╝ ╚═╝╚═╝ ╚═╝╚══════╝ ╚══╝╚══╝ ╚═════╝ ╚═╝ ╚═╝╚═╝ ╚═╝ + + +ESX, QBCore, vRP = nil, nil, nil + +if Config.Framework == 'esx' then + pcall(function() ESX = exports[Config.FrameworkTriggers.resource_name]:getSharedObject() end) + if ESX == nil then + TriggerEvent(Config.FrameworkTriggers.main, function(obj) ESX = obj end) + end + +elseif Config.Framework == 'qbcore' then + TriggerEvent(Config.FrameworkTriggers.main, function(obj) QBCore = obj end) + if QBCore == nil then + QBCore = exports[Config.FrameworkTriggers.resource_name]:GetCoreObject() + end + +elseif Config.Framework == 'vrp' then + local Proxy = module('vrp', 'lib/Proxy') + vRP = Proxy.getInterface('vRP') + +elseif Config.Framework == 'other' then + --Add your own code here. +end + +function GetIdentifier(source) + if Config.Framework == 'esx' then + local xPlayer = ESX.GetPlayerFromId(source) + return xPlayer.identifier + + elseif Config.Framework == 'qbcore' then + local xPlayer = QBCore.Functions.GetPlayer(source) + return xPlayer.PlayerData.citizenid + + elseif Config.Framework == 'vrp' then + local user_id = vRP.getUserId({source}) + return user_id + + elseif Config.Framework == 'standalone' then + return GetPlayerIdentifiers(source)[2] + + elseif Config.Framework == 'other' then + return GetPlayerIdentifiers(source)[2] --return the players identifier here (string). + + end +end + + +--██████╗ ███████╗██████╗ ███╗ ███╗███████╗ ██████╗██╗ ██╗███████╗ ██████╗██╗ ██╗███████╗ +--██╔══██╗██╔════╝██╔══██╗████╗ ████║██╔════╝ ██╔════╝██║ ██║██╔════╝██╔════╝██║ ██╔╝██╔════╝ +--██████╔╝█████╗ ██████╔╝██╔████╔██║███████╗ ██║ ███████║█████╗ ██║ █████╔╝ ███████╗ +--██╔═══╝ ██╔══╝ ██╔══██╗██║╚██╔╝██║╚════██║ ██║ ██╔══██║██╔══╝ ██║ ██╔═██╗ ╚════██║ +--██║ ███████╗██║ ██║██║ ╚═╝ ██║███████║ ╚██████╗██║ ██║███████╗╚██████╗██║ ██╗███████║ +--╚═╝ ╚══════╝╚═╝ ╚═╝╚═╝ ╚═╝╚══════╝ ╚═════╝╚═╝ ╚═╝╚══════╝ ╚═════╝╚═╝ ╚═╝╚══════╝ + + +local function GetAllFivemIdentifiers(source) + local temp_table = {} + for c, d in pairs(GetPlayerIdentifiers(source)) do + temp_table[#temp_table+1] = {full = d, trimmed = d:sub(d:find(':')+1, #d)} + end + return temp_table +end +local function PermsCheck_Identifiers(source, data, perms_type) + local identifier = GetIdentifier(source) + for c, d in pairs(data) do + for cc, dd in pairs(GetAllFivemIdentifiers(source)) do + if (dd.full == d:lower()) or (dd.trimmed == d:lower()) then + return true + end + end + if (perms_type == 'admin_perms' and Config.AdminAccess.Framework.ENABLE) or (perms_type == 'door_perms' and Config.DoorAccessPerms.Framework) then + if d:lower() == identifier:lower() then + return true + end + end + end + return false +end + +local function PermsCheck_AcePerms(source, data) + for c, d in pairs(data) do + if IsPlayerAceAllowed(source, d) then + return true + end + end + return false +end + +local function GetAllDiscordRoles(source) + return exports.Badger_Discord_API:GetDiscordRoles(source) +end +local function PermsCheck_Discord(source, data) + local discord_roles = GetAllDiscordRoles(source) + for c, d in pairs(data) do + for cc, dd in pairs(discord_roles) do + if d == dd then + return true + end + end + end + return false +end + +local function PermsCheck_Items(source, data) + if Config.Framework == 'esx' then + for c, d in pairs(data) do + local xPlayer = ESX.GetPlayerFromId(source) + local get_item = xPlayer.getInventoryItem(d) + if get_item then + local count = get_item.count + if count > 0 then + return true + end + else + E('6034 - ['..d..'] is not a valid item.') + end + end + + elseif Config.Framework == 'qbcore' then + for c, d in pairs(data) do + if QBCore.Functions.HasItem(source, d, 1) then + return true + end + end + + elseif Config.Framework == 'other' then + --add your own framework item checks here. + end + + if GetResourceState('ox_inventory') == 'started' then + for c, d in pairs(data) do + if exports.ox_inventory:GetItem(source, d, false, true) >= 1 then + return true + end + end + end + return false +end + +function CheckAdminPerms(source) + if Config.AdminAccess.Framework.ENABLE then + if Config.Framework == 'esx' then + local perms = ESX.GetPlayerFromId(source).getGroup() + for c, d in pairs(Config.AdminAccess.Framework[Config.Framework]) do + if perms == d then + return true + end + end + elseif Config.Framework == 'qbcore' then + local perms = QBCore.Functions.GetPermission(source) + for c, d in pairs(Config.AdminAccess.Framework[Config.Framework]) do + if type(perms) == 'string' then + if perms == d then + return true + end + elseif type(perms) == 'table' then + if perms[d] then + return true + end + end + end + elseif Config.Framework == 'vrp' then + local perms = vRP.getUserAdminLevel(vRP.getUserId({source})) + for c, d in pairs(Config.AdminAccess.Framework[Config.Framework]) do + if perms == d then + return true + end + end + elseif Config.Framework == 'other' then + --Add your own permissions check here (boolean). + return true + end + end + if Config.AdminAccess.Identifiers.ENABLE then + local perms = PermsCheck_Identifiers(source, Config.AdminAccess.Identifiers.identifier_list, 'admin_perms') + if perms then return true end + end + if Config.AdminAccess.AcePerms.ENABLE then + local perms = PermsCheck_AcePerms(source, Config.AdminAccess.AcePerms.aceperms_list) + if perms then return true end + end + if Config.AdminAccess.Discord.ENABLE then + local perms = PermsCheck_Discord(source, Config.AdminAccess.Discord.discord_list) + if perms then return true end + end + return false +end + +function CheckDoorPerms_All(source, door_perms_data) + if Config.DoorAccessPerms.Identifiers and door_perms_data.identifier and #door_perms_data.identifier > 0 then + local perms = PermsCheck_Identifiers(source, door_perms_data.identifier, 'door_perms') + if perms then return true end + end + if Config.DoorAccessPerms.AcePerms and door_perms_data.ace and #door_perms_data.ace > 0 then + local perms = PermsCheck_AcePerms(source, door_perms_data.ace) + if perms then return true end + end + if Config.DoorAccessPerms.Discord and door_perms_data.discord and #door_perms_data.discord > 0 then + local perms = PermsCheck_Discord(source, door_perms_data.discord) + if perms then return true end + end + if Config.DoorAccessPerms.Items and door_perms_data.items and #door_perms_data.items > 0 then + local perms = PermsCheck_Items(source, door_perms_data.items) + if perms then return true end + end + return false +end + + +--██╗ ██████╗ ██████╗██╗ ██╗██████╗ ██╗ ██████╗██╗ ██╗ +--██║ ██╔═══██╗██╔════╝██║ ██╔╝██╔══██╗██║██╔════╝██║ ██╔╝ +--██║ ██║ ██║██║ █████╔╝ ██████╔╝██║██║ █████╔╝ +--██║ ██║ ██║██║ ██╔═██╗ ██╔═══╝ ██║██║ ██╔═██╗ +--███████╗╚██████╔╝╚██████╗██║ ██╗██║ ██║╚██████╗██║ ██╗ +--╚══════╝ ╚═════╝ ╚═════╝╚═╝ ╚═╝╚═╝ ╚═╝ ╚═════╝╚═╝ ╚═╝ + + +if Config.LockpickItems.ENABLE and Config.LockpickItems.usable_lockpick_item then + for c, d in pairs(Config.LockpickItems.lockpick_items) do + if Config.Framework == 'esx' then + ESX.RegisterUsableItem(d, function(source) + TriggerClientEvent('cd_doorlock:LockpickDoor_usableitem', source) + end) + + elseif Config.Framework == 'qbcore' then + QBCore.Functions.CreateUseableItem(d, function(source, item) + TriggerClientEvent('cd_doorlock:LockpickDoor_usableitem', source) + end) + + elseif Config.Framework == 'other' then + --add your own framework code here. + end + end +end + +function RemoveLockpickItem(source) + if Config.Framework == 'esx' then + for c, d in pairs(Config.LockpickItems.lockpick_items) do + local xPlayer = ESX.GetPlayerFromId(source) + local get_item = xPlayer.getInventoryItem(d) + if get_item then + local count = get_item.count + if count > 0 then + xPlayer.removeInventoryItem(d, 1) + return true + end + else + E('6035 - "'..d..'" is not a valid item.') + end + end + + elseif Config.Framework == 'qbcore' then + local xPlayer = QBCore.Functions.GetPlayer(source) + for c, d in pairs(Config.LockpickItems.lockpick_items) do + if xPlayer.Functions.RemoveItem(d, 1) then + return true + end + end + + elseif Config.Framework == 'other' then + --add your own framework checks here. + end + + if GetResourceState('ox_inventory') == 'started' then + for c, d in pairs(data) do + if exports.ox_inventory:GetItem(source, d, false, true) >= 1 then + if Config.Framework == 'esx' then + local xPlayer = ESX.GetPlayerFromId(source) + xPlayer.removeInventoryItem(d, 1) + return true + + elseif Config.Framework == 'qbcore' then + local xPlayer = QBCore.Functions.GetPlayer(source) + xPlayer.Functions.RemoveItem(d, 1) + return true + + elseif Config.Framework == 'other' then + --add your own framework code here. + end + end + end + end + return false +end + + +--███████╗██╗ ██╗███╗ ██╗ ██████╗████████╗██╗ ██████╗ ███╗ ██╗███████╗ +--██╔════╝██║ ██║████╗ ██║██╔════╝╚══██╔══╝██║██╔═══██╗████╗ ██║██╔════╝ +--█████╗ ██║ ██║██╔██╗ ██║██║ ██║ ██║██║ ██║██╔██╗ ██║███████╗ +--██╔══╝ ██║ ██║██║╚██╗██║██║ ██║ ██║██║ ██║██║╚██╗██║╚════██║ +--██║ ╚██████╔╝██║ ╚████║╚██████╗ ██║ ██║╚██████╔╝██║ ╚████║███████║ +--╚═╝ ╚═════╝ ╚═╝ ╚═══╝ ╚═════╝ ╚═╝ ╚═╝ ╚═════╝ ╚═╝ ╚═══╝╚══════╝ + + +local function GetDoorPerms_Ideitifier_Discord(source) + local temp_table = {} + if Config.DoorAccessPerms.Identifiers then + temp_table.identifiers = GetAllFivemIdentifiers(source) + end + if Config.DoorAccessPerms.Discord then + temp_table.discord = GetAllDiscordRoles(source) + end + return temp_table +end + +local function CheckDoorPerms_Vrp(source, door_perms_data) + local user_id = vRP.getUserId(source) + for c, d in pairs(door_perms_data) do + if vRP.getUserFaction(user_id) == d.name and vRP.getFactionRank(faction) >= d.grade then + return true + end + end + return false +end + +local function CheckDoorPerms_Ace(source, data) + local temp_table = {} + for c, d in pairs(data) do + if IsPlayerAceAllowed(source, d) then + temp_table[#temp_table+1] = d + end + end + return temp_table +end + + +-- ██████╗ █████╗ ██╗ ██╗ ██████╗ █████╗ ██████╗██╗ ██╗███████╗ +--██╔════╝██╔══██╗██║ ██║ ██╔══██╗██╔══██╗██╔════╝██║ ██╔╝██╔════╝ +--██║ ███████║██║ ██║ ██████╔╝███████║██║ █████╔╝ ███████╗ +--██║ ██╔══██║██║ ██║ ██╔══██╗██╔══██║██║ ██╔═██╗ ╚════██║ +--╚██████╗██║ ██║███████╗███████╗██████╔╝██║ ██║╚██████╗██║ ██╗███████║ +-- ╚═════╝╚═╝ ╚═╝╚══════╝╚══════╝╚═════╝ ╚═╝ ╚═╝ ╚═════╝╚═╝ ╚═╝╚══════╝ + + +RegisterServerEvent('cd_doorlock:Callback') +AddEventHandler('cd_doorlock:Callback', function(id, action, data) + local _source = source + if action == 'check_admin_perms' then + TriggerClientEvent('cd_doorlock:Callback', _source, id, CheckAdminPerms(_source)) + + elseif action == 'get_door_perms_identifier_discord' then + TriggerClientEvent('cd_doorlock:Callback', _source, id, GetDoorPerms_Ideitifier_Discord(_source)) + + elseif action == 'check_door_perms_all' then + TriggerClientEvent('cd_doorlock:Callback', _source, id, CheckDoorPerms_All(_source, data)) + + elseif action == 'check_door_perms_vrp' then + TriggerClientEvent('cd_doorlock:Callback', _source, id, CheckDoorPerms_Vrp(_source, data)) + + elseif action == 'check_door_perms_ace' then + TriggerClientEvent('cd_doorlock:Callback', _source, id, CheckDoorPerms_Ace(_source, data)) + + elseif action == 'remove_lockpick_item' then + TriggerClientEvent('cd_doorlock:Callback', _source, id, RemoveLockpickItem(_source)) + + end +end) + + +--███╗ ██╗ ██████╗ ████████╗██╗███████╗██╗ ██████╗ █████╗ ████████╗██╗ ██████╗ ███╗ ██╗███████╗ +--████╗ ██║██╔═══██╗╚══██╔══╝██║██╔════╝██║██╔════╝██╔══██╗╚══██╔══╝██║██╔═══██╗████╗ ██║██╔════╝ +--██╔██╗ ██║██║ ██║ ██║ ██║█████╗ ██║██║ ███████║ ██║ ██║██║ ██║██╔██╗ ██║███████╗ +--██║╚██╗██║██║ ██║ ██║ ██║██╔══╝ ██║██║ ██╔══██║ ██║ ██║██║ ██║██║╚██╗██║╚════██║ +--██║ ╚████║╚██████╔╝ ██║ ██║██║ ██║╚██████╗██║ ██║ ██║ ██║╚██████╔╝██║ ╚████║███████║ +--╚═╝ ╚═══╝ ╚═════╝ ╚═╝ ╚═╝╚═╝ ╚═╝ ╚═════╝╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚═════╝ ╚═╝ ╚═══╝╚══════╝ + + +function Notification(source, notif_type, message) + if source and notif_type and message then + if Config.Notification == 'esx' then + TriggerClientEvent('esx:showNotification', source, message) + + elseif Config.Notification == 'qbcore' then + if notif_type == 1 then + TriggerClientEvent('QBCore:Notify', source, message, 'success') + elseif notif_type == 2 then + TriggerClientEvent('QBCore:Notify', source, message, 'primary') + elseif notif_type == 3 then + TriggerClientEvent('QBCore:Notify', source, message, 'error') + end + + elseif Config.Notification == 'cd_notifications' then + if notif_type == 1 then + TriggerClientEvent('cd_notifications:Add', source, {title = L('doorlock'), message = message, type = 'success', options = {duration = 5}}) + elseif notif_type == 2 then + TriggerClientEvent('cd_notifications:Add', source, {title = L('doorlock'), message = message, type = 'inform', options = {duration = 5}}) + elseif notif_type == 3 then + TriggerClientEvent('cd_notifications:Add', source, {title = L('doorlock'), message = message, type = 'error', options = {duration = 5}}) + end + + elseif Config.Notification == 'okokNotify' then + if notif_type == 1 then + TriggerClientEvent('okokNotify:Alert', source, L('doorlock'), message, 5000, 'success') + elseif notif_type == 2 then + TriggerClientEvent('okokNotify:Alert', source, L('doorlock'), message, 5000, 'info') + elseif notif_type == 3 then + TriggerClientEvent('okokNotify:Alert', source, L('doorlock'), message, 5000, 'error') + end + + elseif Config.Notification == 'ps-ui' then + if notif_type == 1 then + TriggerClientEvent('ps-ui:Notify', source, message, 'success') + elseif notif_type == 2 then + TriggerClientEvent('ps-ui:Notify', source, message, 'primary') + elseif notif_type == 3 then + TriggerClientEvent('ps-ui:Notify', source, message, 'error') + end + + elseif Config.Notification == 'ox_lib' then + if notif_type == 1 then + lib.notify({title = L('doorlock'), description = message, type = 'success'}) + elseif notif_type == 2 then + lib.notify({title = L('doorlock'), description = message, type = 'inform'}) + elseif notif_type == 3 then + lib.notify({title = L('doorlock'), description = message, type = 'error'}) + end + + elseif Config.Notification == 'chat' then + TriggerClientEvent('chatMessage', source, message) + + elseif Config.Notification == 'other' then + --add your own notification. + + end + end +end + + +-- ██████╗ ████████╗██╗ ██╗███████╗██████╗ +--██╔═══██╗╚══██╔══╝██║ ██║██╔════╝██╔══██╗ +--██║ ██║ ██║ ███████║█████╗ ██████╔╝ +--██║ ██║ ██║ ██╔══██║██╔══╝ ██╔══██╗ +--╚██████╔╝ ██║ ██║ ██║███████╗██║ ██║ +-- ╚═════╝ ╚═╝ ╚═╝ ╚═╝╚══════╝╚═╝ ╚═╝ + + +RegisterServerEvent('cd_doorlock:Debug') +AddEventHandler('cd_doorlock:Debug', function() + local _source = source + print('^6-----------------------^0') + print('^1CODESIGN DEBUG^0') + print(string.format('^6Framework Identifier:^0 %s', GetIdentifier(_source))) + if Config.DoorAccessPerms.Identifiers or Config.AdminAccess.Identifiers.ENABLE then + for c, d in pairs(GetAllFivemIdentifiers(_source)) do + print(string.format('^6Fivem Identifier: [Full: ^0%s^6] [Trimmed: ^0%s^6]', d.full, d.trimmed)) + end + end + + if Config.DoorAccessPerms.Discord or Config.AdminAccess.Discord.ENABLE then + if GetResourceState('cd_devtools') == 'started' then + print('^6Devtools debug table sent to client.^0') + TriggerClientEvent('table', _source, GetAllDiscordRoles(_source)) + else + print('^6cd_devtools is not started.^0') + end + end + print('^6-----------------------^0') +end) diff --git a/resources/cd_doorlock/configs/server_webhooks.lua b/resources/cd_doorlock/configs/server_webhooks.lua new file mode 100644 index 000000000..f7e9ca699 --- /dev/null +++ b/resources/cd_doorlock/configs/server_webhooks.lua @@ -0,0 +1,52 @@ +------------------------------------------------------------------------------------------------------ +------------------------------------------- WEBHOOK URLS --------------------------------------------- +------------------------------------------------------------------------------------------------------ + + +--56108 green +--16711680 red +--2061822 blue + +--These are disabled by default, until you enter your discord webhooks. +local Webhook_Data = { + ['create'] = {colour = 56108, webhook = 'CHANGE_ME'}, --When someone creates a new door. + ['delete'] = {colour = 16711680, webhook = 'CHANGE_ME'}, --When someone deletes a door. + ['edit'] = {colour = 2061822, webhook = 'CHANGE_ME'}, --When someone edits a door. + ['add_import_data'] = {colour = 56108, webhook = 'CHANGE_ME'}, --When someone adds a import group. + ['remove_import_data'] = {colour = 16711680, webhook = 'CHANGE_ME'}, --When someone removes a import group. + ['remove_full_locationgroup'] = {colour = 16711680, webhook = 'CHANGE_ME'}, --When someone deletes a full location group. +} + + +------------------------------------------------------------------------------------------------------ +------------------------------------------- WEBHOOK DATA --------------------------------------------- +------------------------------------------------------------------------------------------------------ + + +function SendWebhook(source, action, data) + local webhook_data = Webhook_Data[action] + if webhook_data.webhook and #webhook_data.webhook > 10 then + local player_name = GetPlayerName(source) or L('unknown') + local identifier = GetIdentifier(source) or L('unknown') + + local message + if action == 'create' or action == 'delete' or action == 'edit' then + message = string.format(L('webhook_message_1'), source, player_name, identifier, data.location_group, data.door_name, data.door_type) + elseif action == 'add_import_data' or action == 'remove_import_data' then + message = string.format(L('webhook_message_2'), source, player_name, identifier, data.name, #data.data) + elseif action == 'remove_full_locationgroup' then + message = string.format(L('webhook_message_3'), source, player_name, identifier, data.name, data.door_count) + end + + local data = {{ + ['color'] = webhook_data.colour, + ['title'] = L(action), + ['description'] = message, + ['footer'] = { + ['text'] = os.date('%c'), + ['icon_url'] = 'https://i.imgur.com/VMPGPTQ.png', + }, + }} + PerformHttpRequest(webhook_data.webhook, function(err, text, headers) end, 'POST', json.encode({username = L('bot_name'), embeds = data}), { ['Content-Type'] = 'application/json' }) + end +end \ No newline at end of file diff --git a/resources/cd_doorlock/fxmanifest.lua b/resources/cd_doorlock/fxmanifest.lua new file mode 100644 index 000000000..0bae57de3 --- /dev/null +++ b/resources/cd_doorlock/fxmanifest.lua @@ -0,0 +1,69 @@ +fx_version 'cerulean' +game 'gta5' +author 'discord.gg/codesign' +description 'Codesign Door Lock' +version '1.1.1' +lua54 'yes' + +shared_scripts { + 'configs/locales.lua', + 'configs/config.lua' + --'@ox_lib/init.lua' --⚠️PLEASE READ⚠️; Uncomment this line if you use 'ox_lib'.⚠️ +} + +client_scripts { + 'configs/client_customise_me.lua', + 'client/*.lua' +} + +server_scripts { + 'configs/server_customise_me.lua', + 'configs/server_webhooks.lua', + 'server/*.lua', + 'server/*.js', + --'@vrp/lib/utils.lua', --⚠️PLEASE READ⚠️; Uncomment this line if you use 'vrp'.⚠️ + --'@vrp/lib/Tunnel.lua', --⚠️PLEASE READ⚠️; Uncomment this line if you use 'vrp'.⚠️ + --'@vrp/lib/Proxy.lua', --⚠️PLEASE READ⚠️; Uncomment this line if you use 'vrp'.⚠️ +} + + +ui_page { + 'html/index.html', +} +files { + 'configs/locales_ui.js', + 'configs/config_ui.js', + 'html/index.html', + 'html/assets/*.css', + 'html/assets/*.js', + 'html/fonts/*.woff2', + 'html/css/vendor/*.css', + 'sounds/*.ogg' +} + +exports { + 'GetDoorState_closest', + 'GetDoorState_name', + 'GetDoorDataFull_closest', + 'GetDoorDataFull_name', + 'GetDoorID', +} + +Server_exports { + 'GetDoorState_closest', + 'GetDoorState_name', + 'GetDoorDataFull_closest', + 'GetDoorDataFull_name', + 'GetDoorID', +} + +dependencies { + '/server:4960' -- ⚠️PLEASE READ⚠️; Requires at least server build 4960. +} + +escrow_ignore { + 'client/functions.lua', + 'configs/*.lua', + 'server/version_check.lua' +} +dependency '/assetpacks' \ No newline at end of file diff --git a/resources/cd_doorlock/html/assets/index.css b/resources/cd_doorlock/html/assets/index.css new file mode 100644 index 000000000..296ab784e --- /dev/null +++ b/resources/cd_doorlock/html/assets/index.css @@ -0,0 +1 @@ +*{box-sizing:border-box}.alert-hidden.svelte-1xfidhd{display:none}.cursor-pointer{cursor:pointer;color:#00000080}.cursor-pointer:hover{color:#000}.btn-xs{--bs-btn-padding-y:.2rem;--bs-btn-padding-x:.4rem;--bs-btn-font-size:.6rem}.delete-job:hover{background-color:#ff5d57!important;cursor:pointer}.scrollbar.svelte-1847jqf{max-height:320px;overflow-y:auto;overflow-x:hidden}.scrollbar.svelte-1847jqf::-webkit-scrollbar-track{-webkit-box-shadow:inset 0 0 6px rgba(0,0,0,.3);background-color:#f5f5f5;border-bottom-right-radius:.3rem}.scrollbar.svelte-1847jqf::-webkit-scrollbar{width:8px;background-color:#f5f5f5}.scrollbar.svelte-1847jqf::-webkit-scrollbar-thumb{-webkit-box-shadow:inset 0 0 6px rgba(0,0,0,.3);background-color:#999}.nav-item.svelte-1847jqf{cursor:pointer}#permission-list.svelte-1847jqf{font-size:90%}#header-text.svelte-a3mjdl{display:flex;justify-content:space-between;align-items:center}body{overflow:hidden}.scale-placeholder{display:none;position:absolute;left:var(--pseudo-left);top:var(--pseudo-top);content:" ";width:var(--pseudo-width);height:var(--pseudo-height);z-index:999;pointer-events:none;border:1px dashed #ff5d57;border-radius:.5rem;transform:scale(var(--pseudo-scale));will-change:transform}.placeholder-show{display:block!important}.scale{transform:scale(var(--scale))}#keypad-button-wrapper.svelte-11vz8gd.svelte-11vz8gd{padding:1rem;display:flex;flex-direction:column;gap:1rem}.keypad-button-row.svelte-11vz8gd.svelte-11vz8gd{display:flex;justify-content:space-between;align-items:center;gap:1rem}.keypad-button.svelte-11vz8gd.svelte-11vz8gd{padding:1rem;background:-webkit-gradient(linear,left top,left bottom,from(rgba(0,0,0,.25)),to(#e6e6e6));text-shadow:0px -1px 0px rgba(0,0,0,.4);text-decoration:none;cursor:pointer;position:relative;display:inline-block;box-shadow:inset 0 1px #fff,0 1px 3px #0000004d;outline:none;border:1px solid #ba6;border-color:#7c7c7c;color:#fff;border-radius:5px;min-width:64px;text-align:center;user-select:none}.keypad-button.svelte-11vz8gd.svelte-11vz8gd:active{-webkit-transform:translateY(2px);transform:translateY(2px)}#keypad-screen.svelte-11vz8gd.svelte-11vz8gd{position:relative}#keypad-screen.svelte-11vz8gd>input.svelte-11vz8gd{height:48px;letter-spacing:.5rem;text-align:center;font-weight:900;outline:0;background-color:#1f1f1f4d;border:1px solid rgba(31,31,31,.5);-webkit-box-shadow:inset 0 0 10px #000000;box-shadow:inset 0 0 10px #000;border-radius:.2rem;color:#fff;user-select:none;cursor:auto;text-shadow:0 0 10px #fff}#keypad.svelte-11vz8gd.svelte-11vz8gd{background-color:var(--bs-gray-900);border-radius:.5rem;overflow:hidden;border:12px solid var(--bs-gray-900)}#keypad-round-wrapper.svelte-11vz8gd.svelte-11vz8gd{padding:1rem;border-radius:.5rem;overflow:hidden;background-color:#474747;box-shadow:#32325d40 0 30px 60px -12px inset,#0000004d 0 18px 36px -18px inset}.backspace.svelte-11vz8gd.svelte-11vz8gd{display:flex;justify-content:center;align-items:center;color:#ffffff80;cursor:pointer;user-select:none;pointer-events:all!important}.backspace.svelte-11vz8gd.svelte-11vz8gd:hover{color:#fffc}.led-box.svelte-11vz8gd.svelte-11vz8gd{height:24px;width:25%;margin:10px 0;float:left}.led-green.svelte-11vz8gd.svelte-11vz8gd{margin:0 auto;width:16px;height:16px;background-color:#abff004d;border-radius:50%;box-shadow:#0003 0 -1px 7px 1px,inset #304701 0 -1px 9px,#89ff00 0 0}.led-green-active.svelte-11vz8gd.svelte-11vz8gd{background-color:#abff00;box-shadow:#0003 0 -1px 7px 1px,inset #304701 0 -1px 9px,#89ff0080 0 2px 12px}.led-red.svelte-11vz8gd.svelte-11vz8gd{margin:0 auto;width:16px;height:16px;background-color:#ff5d574d;border-radius:50%;box-shadow:#0003 0 -1px 7px 1px,inset #441313 0 -1px 9px,#ff000080 0 0}.led-red-active.svelte-11vz8gd.svelte-11vz8gd{background-color:#ff5d57;box-shadow:#0003 0 -1px 7px 1px,inset #441313 0 -1px 9px,#ff000080 0 2px 12px}.led-yellow.svelte-11vz8gd.svelte-11vz8gd{margin:0 auto;width:16px;height:16px;background-color:#ffff004d;border-radius:50%;box-shadow:#0003 0 -1px 7px 1px,inset #808002 0 -1px 9px,#ffff0080 0 0}.led-yellow-active.svelte-11vz8gd.svelte-11vz8gd{background-color:#ff0;box-shadow:#0003 0 -1px 7px 1px,inset #808002 0 -1px 9px,#ffff0080 0 2px 12px}#status-led.svelte-11vz8gd.svelte-11vz8gd{display:flex;justify-content:center}#suggest-container.svelte-11vz8gd.svelte-11vz8gd{position:absolute;left:0;top:0;padding-right:1rem;width:100%;height:48px;display:flex;justify-content:flex-end;align-items:center;gap:.5rem;pointer-events:none}#keypad-speaker.svelte-11vz8gd.svelte-11vz8gd{width:100%;height:8px;background-color:#000;border-bottom-left-radius:50%;border-bottom-right-radius:50%;background-size:50%;overflow:hidden;-webkit-box-shadow:inset 0 0 5px #000000;box-shadow:inset 0 0 5px #000;background-blend-mode:difference}.import-item.svelte-1b1fi6t{display:flex;justify-content:space-between}.cursor.svelte-1b1fi6t{cursor:pointer}.scrollbar.svelte-1b1fi6t{height:320px;overflow-y:auto;overflow-x:hidden}.scrollbar.svelte-1b1fi6t::-webkit-scrollbar-track{-webkit-box-shadow:inset 0 0 6px rgba(0,0,0,.3);background-color:#f5f5f5;border-bottom-right-radius:.3rem}.scrollbar.svelte-1b1fi6t::-webkit-scrollbar{width:8px;background-color:#f5f5f5}.scrollbar.svelte-1b1fi6t::-webkit-scrollbar-thumb{-webkit-box-shadow:inset 0 0 6px rgba(0,0,0,.3);background-color:#999}.nav-item.svelte-1b1fi6t{cursor:pointer}#selector.svelte-2ba962{width:100%;height:100%;position:absolute;left:0;top:0;display:flex;justify-content:center;align-items:center}#selector>i{font-size:3vh;color:#ff5f57b3}@font-face{font-family:VCR;src:local("VCR"),local("VCR"),url(../fonts/vcr.woff2) format("woff2")}#camera.svelte-qaw9gz{width:100vw;height:100vh;overflow:hidden;position:absolute;left:0;top:0;display:flex;justify-content:center;align-items:flex-end;font-family:VCR;font-size:32px;color:#fff;padding:3rem}#camera-container.svelte-qaw9gz{background-color:#0000004d;padding:.3rem .75rem;width:100%;display:flex;justify-content:space-between;align-items:center;flex-direction:column}#camera-time-location.svelte-qaw9gz{width:100%;display:flex;justify-content:space-between;align-items:center}#camera-info.svelte-qaw9gz{display:flex;justify-content:space-around;align-items:center;position:absolute;left:0;top:1rem;padding:.3rem .75rem}.camera-tooltip-item.svelte-qaw9gz{background-color:#0000004d;margin-left:1rem;margin-right:1rem;padding:.3rem;font-size:1rem}#game-instructions.svelte-4d2wf{position:absolute;display:flex;justify-content:center;align-items:center;right:1rem;top:50%;transform:translateY(-50%);padding:1rem}.instructions.svelte-4d2wf{font-size:1.5vh;color:#fff;background-color:#00000080;padding:.75rem 2rem;border-radius:.5rem}body{background-color:transparent}.border-cd{border:12px solid var(--bs-gray-900);background-color:var(--bs-gray-900)}.border-cd-sm{border:6px solid var(--bs-gray-900);background-color:var(--bs-gray-900)}#server-logo.svelte-vrcv47{display:flex;align-items:center}#server-logo>svg{height:16px;margin-left:1rem}#create-doors.svelte-vrcv47{transform-origin:center}main.svelte-vrcv47{overflow:hidden} diff --git a/resources/cd_doorlock/html/assets/index.js b/resources/cd_doorlock/html/assets/index.js new file mode 100644 index 000000000..39bf3d46f --- /dev/null +++ b/resources/cd_doorlock/html/assets/index.js @@ -0,0 +1,30 @@ +var Qa=Object.defineProperty;var Xa=(n,e,t)=>e in n?Qa(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t;var Xt=(n,e,t)=>(Xa(n,typeof e!="symbol"?e+"":e,t),t);(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const i of document.querySelectorAll('link[rel="modulepreload"]'))s(i);new MutationObserver(i=>{for(const l of i)if(l.type==="childList")for(const o of l.addedNodes)o.tagName==="LINK"&&o.rel==="modulepreload"&&s(o)}).observe(document,{childList:!0,subtree:!0});function t(i){const l={};return i.integrity&&(l.integrity=i.integrity),i.referrerpolicy&&(l.referrerPolicy=i.referrerpolicy),i.crossorigin==="use-credentials"?l.credentials="include":i.crossorigin==="anonymous"?l.credentials="omit":l.credentials="same-origin",l}function s(i){if(i.ep)return;i.ep=!0;const l=t(i);fetch(i.href,l)}})();function ue(){}const Pi=n=>n;function Lo(n,e){for(const t in e)n[t]=e[t];return n}function Pr(n){return n()}function Do(){return Object.create(null)}function Ee(n){n.forEach(Pr)}function Kn(n){return typeof n=="function"}function rt(n,e){return n!=n?e==e:n!==e||n&&typeof n=="object"||typeof n=="function"}function Ja(n){return Object.keys(n).length===0}function Xs(n,...e){if(n==null)return ue;const t=n.subscribe(...e);return t.unsubscribe?()=>t.unsubscribe():t}function Io(n){let e;return Xs(n,t=>e=t)(),e}function be(n,e,t){n.$$.on_destroy.push(Xs(e,t))}function T(n,e,t){return n.set(t),e}function Za(n){return n&&Kn(n.destroy)?n.destroy:ue}const Rr=typeof window<"u";let Ri=Rr?()=>window.performance.now():()=>Date.now(),ji=Rr?n=>requestAnimationFrame(n):ue;const Hn=new Set;function jr(n){Hn.forEach(e=>{e.c(n)||(Hn.delete(e),e.f())}),Hn.size!==0&&ji(jr)}function Hi(n){let e;return Hn.size===0&&ji(jr),{promise:new Promise(t=>{Hn.add(e={c:n,f:t})}),abort(){Hn.delete(e)}}}function r(n,e){n.appendChild(e)}function Hr(n){if(!n)return document;const e=n.getRootNode?n.getRootNode():n.ownerDocument;return e&&e.host?e:n.ownerDocument}function xa(n){const e=_("style");return ec(Hr(n),e),e.sheet}function ec(n,e){r(n.head||n,e)}function D(n,e,t){n.insertBefore(e,t||null)}function L(n){n.parentNode.removeChild(n)}function _(n){return document.createElement(n)}function V(n){return document.createTextNode(n)}function k(){return V(" ")}function qe(){return V("")}function P(n,e,t,s){return n.addEventListener(e,t,s),()=>n.removeEventListener(e,t,s)}function tc(n){return function(e){return e.preventDefault(),n.call(this,e)}}function Se(n){return function(e){return e.stopPropagation(),n.call(this,e)}}function zt(n){return function(e){e.isTrusted&&n.call(this,e)}}function a(n,e,t){t==null?n.removeAttribute(e):n.getAttribute(e)!==t&&n.setAttribute(e,t)}function ln(n){return n===""?null:+n}function nc(n){return Array.from(n.childNodes)}function fe(n,e){e=""+e,n.wholeText!==e&&(n.data=e)}function pe(n,e){n.value=e==null?"":e}function tt(n,e,t,s){t===null?n.style.removeProperty(e):n.style.setProperty(e,t,s?"important":"")}function jt(n,e,t){n.classList[t?"add":"remove"](e)}function sc(n,e,{bubbles:t=!1,cancelable:s=!1}={}){const i=document.createEvent("CustomEvent");return i.initCustomEvent(n,t,s,e),i}const Ws=new Map;let Fs=0;function ic(n){let e=5381,t=n.length;for(;t--;)e=(e<<5)-e^n.charCodeAt(t);return e>>>0}function oc(n,e){const t={stylesheet:xa(e),rules:{}};return Ws.set(n,t),t}function zs(n,e,t,s,i,l,o,f=0){const d=16.666/s;let p=`{ +`;for(let y=0;y<=1;y+=d){const E=e+(t-e)*l(y);p+=y*100+`%{${o(E,1-E)}} +`}const u=p+`100% {${o(t,1-t)}} +}`,c=`__svelte_${ic(u)}_${f}`,m=Hr(n),{stylesheet:h,rules:g}=Ws.get(m)||oc(m,n);g[c]||(g[c]=!0,h.insertRule(`@keyframes ${c} ${u}`,h.cssRules.length));const A=n.style.animation||"";return n.style.animation=`${A?`${A}, `:""}${c} ${s}ms linear ${i}ms 1 both`,Fs+=1,c}function Gs(n,e){const t=(n.style.animation||"").split(", "),s=t.filter(e?l=>l.indexOf(e)<0:l=>l.indexOf("__svelte")===-1),i=t.length-s.length;i&&(n.style.animation=s.join(", "),Fs-=i,Fs||lc())}function lc(){ji(()=>{Fs||(Ws.forEach(n=>{const{stylesheet:e}=n;let t=e.cssRules.length;for(;t--;)e.deleteRule(t);n.rules={}}),Ws.clear())})}let os;function ts(n){os=n}function Vr(){if(!os)throw new Error("Function called outside component initialization");return os}function Yn(n){Vr().$$.on_mount.push(n)}function Vi(n){Vr().$$.on_destroy.push(n)}function xn(n,e){const t=n.$$.callbacks[e.type];t&&t.slice().forEach(s=>s.call(this,e))}const es=[],Mo=[],js=[],$o=[],rc=Promise.resolve();let Ti=!1;function ac(){Ti||(Ti=!0,rc.then(Br))}function it(n){js.push(n)}const di=new Set;let Ns=0;function Br(){const n=os;do{for(;Ns{Xn=null})),Xn}function mn(n,e,t){n.dispatchEvent(sc(`${e?"intro":"outro"}${t}`))}const Hs=new Set;let Ht;function ft(){Ht={r:0,c:[],p:Ht}}function pt(){Ht.r||Ee(Ht.c),Ht=Ht.p}function ce(n,e){n&&n.i&&(Hs.delete(n),n.i(e))}function ge(n,e,t,s){if(n&&n.o){if(Hs.has(n))return;Hs.add(n),Ht.c.push(()=>{Hs.delete(n),s&&(t&&n.d(1),s())}),n.o(e)}else s&&s()}const Wi={duration:0};function Js(n,e,t){let s=e(n,t),i=!1,l,o,f=0;function d(){l&&Gs(n,l)}function p(){const{delay:c=0,duration:m=300,easing:h=Pi,tick:g=ue,css:A}=s||Wi;A&&(l=zs(n,0,1,m,c,h,A,f++)),g(0,1);const y=Ri()+c,E=y+m;o&&o.abort(),i=!0,it(()=>mn(n,!0,"start")),o=Hi(C=>{if(i){if(C>=E)return g(1,0),mn(n,!0,"end"),d(),i=!1;if(C>=y){const N=h((C-y)/m);g(N,1-N)}}return i})}let u=!1;return{start(){u||(u=!0,Gs(n),Kn(s)?(s=s(),Bi().then(p)):p())},invalidate(){u=!1},end(){i&&(d(),i=!1)}}}function Zs(n,e,t){let s=e(n,t),i=!0,l;const o=Ht;o.r+=1;function f(){const{delay:d=0,duration:p=300,easing:u=Pi,tick:c=ue,css:m}=s||Wi;m&&(l=zs(n,1,0,p,d,u,m));const h=Ri()+d,g=h+p;it(()=>mn(n,!1,"start")),Hi(A=>{if(i){if(A>=g)return c(0,1),mn(n,!1,"end"),--o.r||Ee(o.c),!1;if(A>=h){const y=u((A-h)/p);c(1-y,y)}}return i})}return Kn(s)?Bi().then(()=>{s=s(),f()}):f(),{end(d){d&&s.tick&&s.tick(1,0),i&&(l&&Gs(n,l),i=!1)}}}function Bt(n,e,t,s){let i=e(n,t),l=s?0:1,o=null,f=null,d=null;function p(){d&&Gs(n,d)}function u(m,h){const g=m.b-l;return h*=Math.abs(g),{a:l,b:m.b,d:g,duration:h,start:m.start,end:m.start+h,group:m.group}}function c(m){const{delay:h=0,duration:g=300,easing:A=Pi,tick:y=ue,css:E}=i||Wi,C={start:Ri()+h,b:m};m||(C.group=Ht,Ht.r+=1),o||f?f=C:(E&&(p(),d=zs(n,l,m,g,h,A,E)),m&&y(0,1),o=u(C,g),it(()=>mn(n,m,"start")),Hi(N=>{if(f&&N>f.start&&(o=u(f,g),f=null,mn(n,o.b,"start"),E&&(p(),d=zs(n,l,o.b,o.duration,0,A,i.css))),o){if(N>=o.end)y(l=o.b,1-l),mn(n,o.b,"end"),f||(o.b?p():--o.group.r||Ee(o.group.c)),o=null;else if(N>=o.start){const b=N-o.start;l=o.a+o.d*A(b/o.duration),y(l,1-l)}}return!!(o||f)}))}return{run(m){Kn(i)?Bi().then(()=>{i=i(),c(m)}):c(m)},end(){p(),o=f=null}}}const uc=typeof window<"u"?window:typeof globalThis<"u"?globalThis:global;function Ke(n,e){n.d(1),e.delete(n.key)}function Po(n,e){ge(n,1,1,()=>{e.delete(n.key)})}function Ve(n,e,t,s,i,l,o,f,d,p,u,c){let m=n.length,h=l.length,g=m;const A={};for(;g--;)A[n[g].key]=g;const y=[],E=new Map,C=new Map;for(g=h;g--;){const w=c(i,l,g),S=t(w);let M=o.get(S);M?s&&M.p(w,e):(M=p(S,w),M.c()),E.set(S,y[g]=M),S in A&&C.set(S,Math.abs(g-A[S]))}const N=new Set,b=new Set;function v(w){ce(w,1),w.m(f,u),o.set(w.key,w),u=w.first,h--}for(;m&&h;){const w=y[h-1],S=n[m-1],M=w.key,G=S.key;w===S?(u=w.first,m--,h--):E.has(G)?!o.has(M)||N.has(M)?v(w):b.has(G)?m--:C.get(M)>C.get(G)?(b.add(M),v(w)):(N.add(G),m--):(d(S,o),m--)}for(;m--;){const w=n[m];E.has(w.key)||d(w,o)}for(;h;)v(y[h-1]);return y}function _t(n){n&&n.c()}function ot(n,e,t,s){const{fragment:i,on_mount:l,on_destroy:o,after_update:f}=n.$$;i&&i.m(e,t),s||it(()=>{const d=l.map(Pr).filter(Kn);o?o.push(...d):Ee(d),n.$$.on_mount=[]}),f.forEach(it)}function lt(n,e){const t=n.$$;t.fragment!==null&&(Ee(t.on_destroy),t.fragment&&t.fragment.d(e),t.on_destroy=t.fragment=null,t.ctx=[])}function dc(n,e){n.$$.dirty[0]===-1&&(es.push(n),ac(),n.$$.dirty.fill(0)),n.$$.dirty[e/31|0]|=1<{const g=h.length?h[0]:m;return p.ctx&&i(p.ctx[c],p.ctx[c]=g)&&(!p.skip_bound&&p.bound[c]&&p.bound[c](g),u&&dc(n,c)),m}):[],p.update(),u=!0,Ee(p.before_update),p.fragment=s?s(p.ctx):!1,e.target){if(e.hydrate){const c=nc(e.target);p.fragment&&p.fragment.l(c),c.forEach(L)}else p.fragment&&p.fragment.c();e.intro&&ce(n.$$.fragment),ot(n,e.target,e.anchor,e.customElement),Br()}ts(d)}class bt{$destroy(){lt(this,1),this.$destroy=ue}$on(e,t){const s=this.$$.callbacks[e]||(this.$$.callbacks[e]=[]);return s.push(t),()=>{const i=s.indexOf(t);i!==-1&&s.splice(i,1)}}$set(e){this.$$set&&!Ja(e)&&(this.$$.skip_bound=!0,this.$$set(e),this.$$.skip_bound=!1)}}const Dn=[];function St(n,e=ue){let t;const s=new Set;function i(f){if(rt(n,f)&&(n=f,t)){const d=!Dn.length;for(const p of s)p[1](),Dn.push(p,n);if(d){for(let p=0;p{s.delete(p),s.size===0&&(t(),t=null)}}return{set:i,update:l,subscribe:o}}let ye=St([]);function Ro(n,e,t){const s=n.slice();return s[8]=e[t],s[10]=t,s}function jo(n){let e,t,s;return{c(){e=_("i"),a(e,"class","bi bi-caret-left-fill cursor-pointer")},m(i,l){D(i,e,l),t||(s=P(e,"click",Se(n[5])),t=!0)},p:ue,d(i){i&&L(e),t=!1,s()}}}function Ho(n){let e,t,s;return{c(){e=_("i"),a(e,"class","bi bi-caret-right-fill cursor-pointer")},m(i,l){D(i,e,l),t||(s=P(e,"click",Se(n[6])),t=!0)},p:ue,d(i){i&&L(e),t=!1,s()}}}function Vo(n,e){let t,s,i=e[8].message+"",l,o,f,d,p,u,c,m=e[1]+1+"",h,g,A,y=e[0].length+"",E,C,N,b,v,w,S,M=e[1]!=0&&jo(e),G=e[1]!=e[0].length-1&&Ho(e);return{key:n,first:null,c(){t=_("div"),s=_("span"),l=k(),o=_("button"),f=k(),d=_("hr"),p=k(),u=_("div"),c=_("small"),h=V(m),g=V(" of "),A=_("strong"),E=V(y),C=k(),M&&M.c(),N=k(),G&&G.c(),b=k(),a(s,"class","message"),a(o,"type","button"),a(o,"class","btn-close btn-sm"),a(d,"class","mb-1"),a(u,"class","container-fluid d-flex justify-content-end align-items-center p-0"),a(t,"id","create-doors-alert"),a(t,"class",v="w-100 alert "+e[8].type+" alert-dismissible fade show rounded-0 mb-0 "+(e[10]!=e[1]?"alert-hidden":"")+" svelte-1xfidhd"),a(t,"role","alert"),this.first=t},m(U,K){D(U,t,K),r(t,s),s.innerHTML=i,r(t,l),r(t,o),r(t,f),r(t,d),r(t,p),r(t,u),r(u,c),r(c,h),r(c,g),r(c,A),r(A,E),r(c,C),M&&M.m(c,null),r(c,N),G&&G.m(c,null),r(t,b),w||(S=P(o,"click",Se(e[3])),w=!0)},p(U,K){e=U,K&1&&i!==(i=e[8].message+"")&&(s.innerHTML=i),K&2&&m!==(m=e[1]+1+"")&&fe(h,m),K&1&&y!==(y=e[0].length+"")&&fe(E,y),e[1]!=0?M?M.p(e,K):(M=jo(e),M.c(),M.m(c,N)):M&&(M.d(1),M=null),e[1]!=e[0].length-1?G?G.p(e,K):(G=Ho(e),G.c(),G.m(c,null)):G&&(G.d(1),G=null),K&3&&v!==(v="w-100 alert "+e[8].type+" alert-dismissible fade show rounded-0 mb-0 "+(e[10]!=e[1]?"alert-hidden":"")+" svelte-1xfidhd")&&a(t,"class",v)},d(U){U&&L(t),M&&M.d(),G&&G.d(),w=!1,S()}}}function fc(n){let e=[],t=new Map,s,i=n[0];const l=o=>o[10];for(let o=0;ot(0,i=u));let{type:l="alert-success"}=e;function o(u){t(1,s=s+u)}function f(){T(ye,i.length=0,i)}const d=()=>{o(-1)},p=()=>{o(1)};return n.$$set=u=>{"type"in u&&t(4,l=u.type)},n.$$.update=()=>{n.$$.dirty&1&&t(1,s=i.length-1)},[i,s,o,f,l,d,p]}class _c extends bt{constructor(e){super(),gt(this,e,pc,fc,rt,{type:4})}}class He{constructor(){Xt(this,"resource");Xt(this,"run",!0);this.resource=GetParentResourceName(),this.resource!="cd_doorlock"&&this.resource!="gabz-doorlock"&&(this.run=!1)}send(e,t){!this.run||fetch(`https://${this.resource}/${e}`,{method:"POST",body:JSON.stringify(t)}).then(s=>{}).catch(s=>{})}static send(e,t){GetParentResourceName()!="cd_doorlock"&&GetParentResourceName()!="gabz-doorlock"||fetch(`https://${GetParentResourceName()}/${e}`,{method:"POST",body:JSON.stringify(t)}).then(s=>{}).catch(s=>{})}}function Fi(n){const e=n-1;return e*e*e+1}function hc(n){return--n*n*n*n*n+1}/*! ***************************************************************************** +Copyright (c) Microsoft Corporation. + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH +REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY +AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, +INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM +LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR +OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THIS SOFTWARE. +***************************************************************************** */function mc(n,e){var t={};for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&e.indexOf(s)<0&&(t[s]=n[s]);if(n!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,s=Object.getOwnPropertySymbols(n);i` + transform: ${p} translate(${(1-c)*i}px, ${(1-c)*l}px); + opacity: ${d-u*m}`}}function Wt(n,{delay:e=0,duration:t=400,easing:s=Fi}={}){const i=getComputedStyle(n),l=+i.opacity,o=parseFloat(i.height),f=parseFloat(i.paddingTop),d=parseFloat(i.paddingBottom),p=parseFloat(i.marginTop),u=parseFloat(i.marginBottom),c=parseFloat(i.borderTopWidth),m=parseFloat(i.borderBottomWidth);return{delay:e,duration:t,easing:s,css:h=>`overflow: hidden;opacity: ${Math.min(h*20,1)*l};height: ${h*o}px;padding-top: ${h*f}px;padding-bottom: ${h*d}px;margin-top: ${h*p}px;margin-bottom: ${h*u}px;border-top-width: ${h*c}px;border-bottom-width: ${h*m}px;`}}function gc(n){var{fallback:e}=n,t=mc(n,["fallback"]);const s=new Map,i=new Map;function l(f,d,p){const{delay:u=0,duration:c=w=>Math.sqrt(w)*30,easing:m=Fi}=Lo(Lo({},t),p),h=d.getBoundingClientRect(),g=f.left-h.left,A=f.top-h.top,y=f.width/h.width,E=f.height/h.height,C=Math.sqrt(g*g+A*A),N=getComputedStyle(d),b=N.transform==="none"?"":N.transform,v=+N.opacity;return{delay:u,duration:Kn(c)?c(C):c,easing:m,css:(w,S)=>` + opacity: ${w*v}; + transform-origin: top left; + transform: ${b} translate(${S*g}px,${S*A}px) scale(${w+(1-w)*y}, ${w+(1-w)*E}); + `}}function o(f,d,p){return(u,c)=>(f.set(c.key,{rect:u.getBoundingClientRect()}),()=>{if(d.has(c.key)){const{rect:m}=d.get(c.key);return d.delete(c.key),l(m,u,c)}return f.delete(c.key),e&&e(u,c,p)})}return[o(i,s,!1),o(s,i,!0)]}let Me=St([]),j=St({status:!1,creating:!1,door_count:1,doors_selected:!1,doors_data:null,group_type:"job",editing:{state:!1,door:-1,selection:!1},delete:{state:!1,door:-1,name:"",type:"door"},keypad:!1,keypad_processing:!1,keypad_success:!1,keypad_error:!1,selection_icon:!1,camera:{state:!1,door_id:-1,name:"",group:""}}),kt=St({});var nt="top",ht="bottom",mt="right",st="left",xs="auto",qn=[nt,ht,mt,st],bn="start",Vn="end",Wr="clippingParents",zi="viewport",$n="popper",Fr="reference",Ci=qn.reduce(function(n,e){return n.concat([e+"-"+bn,e+"-"+Vn])},[]),Gi=[].concat(qn,[xs]).reduce(function(n,e){return n.concat([e,e+"-"+bn,e+"-"+Vn])},[]),zr="beforeRead",Gr="read",Kr="afterRead",Yr="beforeMain",qr="main",Ur="afterMain",Qr="beforeWrite",Xr="write",Jr="afterWrite",Zr=[zr,Gr,Kr,Yr,qr,Ur,Qr,Xr,Jr];function Ft(n){return n?(n.nodeName||"").toLowerCase():null}function Tt(n){if(n==null)return window;if(n.toString()!=="[object Window]"){var e=n.ownerDocument;return e&&e.defaultView||window}return n}function vn(n){var e=Tt(n).Element;return n instanceof e||n instanceof Element}function Et(n){var e=Tt(n).HTMLElement;return n instanceof e||n instanceof HTMLElement}function Ki(n){if(typeof ShadowRoot>"u")return!1;var e=Tt(n).ShadowRoot;return n instanceof e||n instanceof ShadowRoot}function bc(n){var e=n.state;Object.keys(e.elements).forEach(function(t){var s=e.styles[t]||{},i=e.attributes[t]||{},l=e.elements[t];!Et(l)||!Ft(l)||(Object.assign(l.style,s),Object.keys(i).forEach(function(o){var f=i[o];f===!1?l.removeAttribute(o):l.setAttribute(o,f===!0?"":f)}))})}function vc(n){var e=n.state,t={popper:{position:e.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(e.elements.popper.style,t.popper),e.styles=t,e.elements.arrow&&Object.assign(e.elements.arrow.style,t.arrow),function(){Object.keys(e.elements).forEach(function(s){var i=e.elements[s],l=e.attributes[s]||{},o=Object.keys(e.styles.hasOwnProperty(s)?e.styles[s]:t[s]),f=o.reduce(function(d,p){return d[p]="",d},{});!Et(i)||!Ft(i)||(Object.assign(i.style,f),Object.keys(l).forEach(function(d){i.removeAttribute(d)}))})}}const Yi={name:"applyStyles",enabled:!0,phase:"write",fn:bc,effect:vc,requires:["computeStyles"]};function Vt(n){return n.split("-")[0]}var gn=Math.max,Ys=Math.min,Bn=Math.round;function Oi(){var n=navigator.userAgentData;return n!=null&&n.brands?n.brands.map(function(e){return e.brand+"/"+e.version}).join(" "):navigator.userAgent}function xr(){return!/^((?!chrome|android).)*safari/i.test(Oi())}function Wn(n,e,t){e===void 0&&(e=!1),t===void 0&&(t=!1);var s=n.getBoundingClientRect(),i=1,l=1;e&&Et(n)&&(i=n.offsetWidth>0&&Bn(s.width)/n.offsetWidth||1,l=n.offsetHeight>0&&Bn(s.height)/n.offsetHeight||1);var o=vn(n)?Tt(n):window,f=o.visualViewport,d=!xr()&&t,p=(s.left+(d&&f?f.offsetLeft:0))/i,u=(s.top+(d&&f?f.offsetTop:0))/l,c=s.width/i,m=s.height/l;return{width:c,height:m,top:u,right:p+c,bottom:u+m,left:p,x:p,y:u}}function qi(n){var e=Wn(n),t=n.offsetWidth,s=n.offsetHeight;return Math.abs(e.width-t)<=1&&(t=e.width),Math.abs(e.height-s)<=1&&(s=e.height),{x:n.offsetLeft,y:n.offsetTop,width:t,height:s}}function ea(n,e){var t=e.getRootNode&&e.getRootNode();if(n.contains(e))return!0;if(t&&Ki(t)){var s=e;do{if(s&&n.isSameNode(s))return!0;s=s.parentNode||s.host}while(s)}return!1}function tn(n){return Tt(n).getComputedStyle(n)}function wc(n){return["table","td","th"].indexOf(Ft(n))>=0}function un(n){return((vn(n)?n.ownerDocument:n.document)||window.document).documentElement}function ei(n){return Ft(n)==="html"?n:n.assignedSlot||n.parentNode||(Ki(n)?n.host:null)||un(n)}function Bo(n){return!Et(n)||tn(n).position==="fixed"?null:n.offsetParent}function yc(n){var e=/firefox/i.test(Oi()),t=/Trident/i.test(Oi());if(t&&Et(n)){var s=tn(n);if(s.position==="fixed")return null}var i=ei(n);for(Ki(i)&&(i=i.host);Et(i)&&["html","body"].indexOf(Ft(i))<0;){var l=tn(i);if(l.transform!=="none"||l.perspective!=="none"||l.contain==="paint"||["transform","perspective"].indexOf(l.willChange)!==-1||e&&l.willChange==="filter"||e&&l.filter&&l.filter!=="none")return i;i=i.parentNode}return null}function as(n){for(var e=Tt(n),t=Bo(n);t&&wc(t)&&tn(t).position==="static";)t=Bo(t);return t&&(Ft(t)==="html"||Ft(t)==="body"&&tn(t).position==="static")?e:t||yc(n)||e}function Ui(n){return["top","bottom"].indexOf(n)>=0?"x":"y"}function ns(n,e,t){return gn(n,Ys(e,t))}function kc(n,e,t){var s=ns(n,e,t);return s>t?t:s}function ta(){return{top:0,right:0,bottom:0,left:0}}function na(n){return Object.assign({},ta(),n)}function sa(n,e){return e.reduce(function(t,s){return t[s]=n,t},{})}var Ec=function(e,t){return e=typeof e=="function"?e(Object.assign({},t.rects,{placement:t.placement})):e,na(typeof e!="number"?e:sa(e,qn))};function Ac(n){var e,t=n.state,s=n.name,i=n.options,l=t.elements.arrow,o=t.modifiersData.popperOffsets,f=Vt(t.placement),d=Ui(f),p=[st,mt].indexOf(f)>=0,u=p?"height":"width";if(!(!l||!o)){var c=Ec(i.padding,t),m=qi(l),h=d==="y"?nt:st,g=d==="y"?ht:mt,A=t.rects.reference[u]+t.rects.reference[d]-o[d]-t.rects.popper[u],y=o[d]-t.rects.reference[d],E=as(l),C=E?d==="y"?E.clientHeight||0:E.clientWidth||0:0,N=A/2-y/2,b=c[h],v=C-m[u]-c[g],w=C/2-m[u]/2+N,S=ns(b,w,v),M=d;t.modifiersData[s]=(e={},e[M]=S,e.centerOffset=S-w,e)}}function Tc(n){var e=n.state,t=n.options,s=t.element,i=s===void 0?"[data-popper-arrow]":s;i!=null&&(typeof i=="string"&&(i=e.elements.popper.querySelector(i),!i)||!ea(e.elements.popper,i)||(e.elements.arrow=i))}const ia={name:"arrow",enabled:!0,phase:"main",fn:Ac,effect:Tc,requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function Fn(n){return n.split("-")[1]}var Cc={top:"auto",right:"auto",bottom:"auto",left:"auto"};function Oc(n){var e=n.x,t=n.y,s=window,i=s.devicePixelRatio||1;return{x:Bn(e*i)/i||0,y:Bn(t*i)/i||0}}function Wo(n){var e,t=n.popper,s=n.popperRect,i=n.placement,l=n.variation,o=n.offsets,f=n.position,d=n.gpuAcceleration,p=n.adaptive,u=n.roundOffsets,c=n.isFixed,m=o.x,h=m===void 0?0:m,g=o.y,A=g===void 0?0:g,y=typeof u=="function"?u({x:h,y:A}):{x:h,y:A};h=y.x,A=y.y;var E=o.hasOwnProperty("x"),C=o.hasOwnProperty("y"),N=st,b=nt,v=window;if(p){var w=as(t),S="clientHeight",M="clientWidth";if(w===Tt(t)&&(w=un(t),tn(w).position!=="static"&&f==="absolute"&&(S="scrollHeight",M="scrollWidth")),w=w,i===nt||(i===st||i===mt)&&l===Vn){b=ht;var G=c&&w===v&&v.visualViewport?v.visualViewport.height:w[S];A-=G-s.height,A*=d?1:-1}if(i===st||(i===nt||i===ht)&&l===Vn){N=mt;var U=c&&w===v&&v.visualViewport?v.visualViewport.width:w[M];h-=U-s.width,h*=d?1:-1}}var K=Object.assign({position:f},p&&Cc),J=u===!0?Oc({x:h,y:A}):{x:h,y:A};if(h=J.x,A=J.y,d){var q;return Object.assign({},K,(q={},q[b]=C?"0":"",q[N]=E?"0":"",q.transform=(v.devicePixelRatio||1)<=1?"translate("+h+"px, "+A+"px)":"translate3d("+h+"px, "+A+"px, 0)",q))}return Object.assign({},K,(e={},e[b]=C?A+"px":"",e[N]=E?h+"px":"",e.transform="",e))}function Nc(n){var e=n.state,t=n.options,s=t.gpuAcceleration,i=s===void 0?!0:s,l=t.adaptive,o=l===void 0?!0:l,f=t.roundOffsets,d=f===void 0?!0:f,p={placement:Vt(e.placement),variation:Fn(e.placement),popper:e.elements.popper,popperRect:e.rects.popper,gpuAcceleration:i,isFixed:e.options.strategy==="fixed"};e.modifiersData.popperOffsets!=null&&(e.styles.popper=Object.assign({},e.styles.popper,Wo(Object.assign({},p,{offsets:e.modifiersData.popperOffsets,position:e.options.strategy,adaptive:o,roundOffsets:d})))),e.modifiersData.arrow!=null&&(e.styles.arrow=Object.assign({},e.styles.arrow,Wo(Object.assign({},p,{offsets:e.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:d})))),e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-placement":e.placement})}const Qi={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:Nc,data:{}};var Ss={passive:!0};function Sc(n){var e=n.state,t=n.instance,s=n.options,i=s.scroll,l=i===void 0?!0:i,o=s.resize,f=o===void 0?!0:o,d=Tt(e.elements.popper),p=[].concat(e.scrollParents.reference,e.scrollParents.popper);return l&&p.forEach(function(u){u.addEventListener("scroll",t.update,Ss)}),f&&d.addEventListener("resize",t.update,Ss),function(){l&&p.forEach(function(u){u.removeEventListener("scroll",t.update,Ss)}),f&&d.removeEventListener("resize",t.update,Ss)}}const Xi={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:Sc,data:{}};var Lc={left:"right",right:"left",bottom:"top",top:"bottom"};function Vs(n){return n.replace(/left|right|bottom|top/g,function(e){return Lc[e]})}var Dc={start:"end",end:"start"};function Fo(n){return n.replace(/start|end/g,function(e){return Dc[e]})}function Ji(n){var e=Tt(n),t=e.pageXOffset,s=e.pageYOffset;return{scrollLeft:t,scrollTop:s}}function Zi(n){return Wn(un(n)).left+Ji(n).scrollLeft}function Ic(n,e){var t=Tt(n),s=un(n),i=t.visualViewport,l=s.clientWidth,o=s.clientHeight,f=0,d=0;if(i){l=i.width,o=i.height;var p=xr();(p||!p&&e==="fixed")&&(f=i.offsetLeft,d=i.offsetTop)}return{width:l,height:o,x:f+Zi(n),y:d}}function Mc(n){var e,t=un(n),s=Ji(n),i=(e=n.ownerDocument)==null?void 0:e.body,l=gn(t.scrollWidth,t.clientWidth,i?i.scrollWidth:0,i?i.clientWidth:0),o=gn(t.scrollHeight,t.clientHeight,i?i.scrollHeight:0,i?i.clientHeight:0),f=-s.scrollLeft+Zi(n),d=-s.scrollTop;return tn(i||t).direction==="rtl"&&(f+=gn(t.clientWidth,i?i.clientWidth:0)-l),{width:l,height:o,x:f,y:d}}function xi(n){var e=tn(n),t=e.overflow,s=e.overflowX,i=e.overflowY;return/auto|scroll|overlay|hidden/.test(t+i+s)}function oa(n){return["html","body","#document"].indexOf(Ft(n))>=0?n.ownerDocument.body:Et(n)&&xi(n)?n:oa(ei(n))}function ss(n,e){var t;e===void 0&&(e=[]);var s=oa(n),i=s===((t=n.ownerDocument)==null?void 0:t.body),l=Tt(s),o=i?[l].concat(l.visualViewport||[],xi(s)?s:[]):s,f=e.concat(o);return i?f:f.concat(ss(ei(o)))}function Ni(n){return Object.assign({},n,{left:n.x,top:n.y,right:n.x+n.width,bottom:n.y+n.height})}function $c(n,e){var t=Wn(n,!1,e==="fixed");return t.top=t.top+n.clientTop,t.left=t.left+n.clientLeft,t.bottom=t.top+n.clientHeight,t.right=t.left+n.clientWidth,t.width=n.clientWidth,t.height=n.clientHeight,t.x=t.left,t.y=t.top,t}function zo(n,e,t){return e===zi?Ni(Ic(n,t)):vn(e)?$c(e,t):Ni(Mc(un(n)))}function Pc(n){var e=ss(ei(n)),t=["absolute","fixed"].indexOf(tn(n).position)>=0,s=t&&Et(n)?as(n):n;return vn(s)?e.filter(function(i){return vn(i)&&ea(i,s)&&Ft(i)!=="body"}):[]}function Rc(n,e,t,s){var i=e==="clippingParents"?Pc(n):[].concat(e),l=[].concat(i,[t]),o=l[0],f=l.reduce(function(d,p){var u=zo(n,p,s);return d.top=gn(u.top,d.top),d.right=Ys(u.right,d.right),d.bottom=Ys(u.bottom,d.bottom),d.left=gn(u.left,d.left),d},zo(n,o,s));return f.width=f.right-f.left,f.height=f.bottom-f.top,f.x=f.left,f.y=f.top,f}function la(n){var e=n.reference,t=n.element,s=n.placement,i=s?Vt(s):null,l=s?Fn(s):null,o=e.x+e.width/2-t.width/2,f=e.y+e.height/2-t.height/2,d;switch(i){case nt:d={x:o,y:e.y-t.height};break;case ht:d={x:o,y:e.y+e.height};break;case mt:d={x:e.x+e.width,y:f};break;case st:d={x:e.x-t.width,y:f};break;default:d={x:e.x,y:e.y}}var p=i?Ui(i):null;if(p!=null){var u=p==="y"?"height":"width";switch(l){case bn:d[p]=d[p]-(e[u]/2-t[u]/2);break;case Vn:d[p]=d[p]+(e[u]/2-t[u]/2);break}}return d}function zn(n,e){e===void 0&&(e={});var t=e,s=t.placement,i=s===void 0?n.placement:s,l=t.strategy,o=l===void 0?n.strategy:l,f=t.boundary,d=f===void 0?Wr:f,p=t.rootBoundary,u=p===void 0?zi:p,c=t.elementContext,m=c===void 0?$n:c,h=t.altBoundary,g=h===void 0?!1:h,A=t.padding,y=A===void 0?0:A,E=na(typeof y!="number"?y:sa(y,qn)),C=m===$n?Fr:$n,N=n.rects.popper,b=n.elements[g?C:m],v=Rc(vn(b)?b:b.contextElement||un(n.elements.popper),d,u,o),w=Wn(n.elements.reference),S=la({reference:w,element:N,strategy:"absolute",placement:i}),M=Ni(Object.assign({},N,S)),G=m===$n?M:w,U={top:v.top-G.top+E.top,bottom:G.bottom-v.bottom+E.bottom,left:v.left-G.left+E.left,right:G.right-v.right+E.right},K=n.modifiersData.offset;if(m===$n&&K){var J=K[i];Object.keys(U).forEach(function(q){var ne=[mt,ht].indexOf(q)>=0?1:-1,O=[nt,ht].indexOf(q)>=0?"y":"x";U[q]+=J[O]*ne})}return U}function jc(n,e){e===void 0&&(e={});var t=e,s=t.placement,i=t.boundary,l=t.rootBoundary,o=t.padding,f=t.flipVariations,d=t.allowedAutoPlacements,p=d===void 0?Gi:d,u=Fn(s),c=u?f?Ci:Ci.filter(function(g){return Fn(g)===u}):qn,m=c.filter(function(g){return p.indexOf(g)>=0});m.length===0&&(m=c);var h=m.reduce(function(g,A){return g[A]=zn(n,{placement:A,boundary:i,rootBoundary:l,padding:o})[Vt(A)],g},{});return Object.keys(h).sort(function(g,A){return h[g]-h[A]})}function Hc(n){if(Vt(n)===xs)return[];var e=Vs(n);return[Fo(n),e,Fo(e)]}function Vc(n){var e=n.state,t=n.options,s=n.name;if(!e.modifiersData[s]._skip){for(var i=t.mainAxis,l=i===void 0?!0:i,o=t.altAxis,f=o===void 0?!0:o,d=t.fallbackPlacements,p=t.padding,u=t.boundary,c=t.rootBoundary,m=t.altBoundary,h=t.flipVariations,g=h===void 0?!0:h,A=t.allowedAutoPlacements,y=e.options.placement,E=Vt(y),C=E===y,N=d||(C||!g?[Vs(y)]:Hc(y)),b=[y].concat(N).reduce(function(Z,de){return Z.concat(Vt(de)===xs?jc(e,{placement:de,boundary:u,rootBoundary:c,padding:p,flipVariations:g,allowedAutoPlacements:A}):de)},[]),v=e.rects.reference,w=e.rects.popper,S=new Map,M=!0,G=b[0],U=0;U=0,O=ne?"width":"height",X=zn(e,{placement:K,boundary:u,rootBoundary:c,altBoundary:m,padding:p}),I=ne?q?mt:st:q?ht:nt;v[O]>w[O]&&(I=Vs(I));var le=Vs(I),se=[];if(l&&se.push(X[J]<=0),f&&se.push(X[I]<=0,X[le]<=0),se.every(function(Z){return Z})){G=K,M=!1;break}S.set(K,se)}if(M)for(var ie=g?3:1,_e=function(de){var ke=b.find(function(ae){var oe=S.get(ae);if(oe)return oe.slice(0,de).every(function(Ae){return Ae})});if(ke)return G=ke,"break"},B=ie;B>0;B--){var Q=_e(B);if(Q==="break")break}e.placement!==G&&(e.modifiersData[s]._skip=!0,e.placement=G,e.reset=!0)}}const ra={name:"flip",enabled:!0,phase:"main",fn:Vc,requiresIfExists:["offset"],data:{_skip:!1}};function Go(n,e,t){return t===void 0&&(t={x:0,y:0}),{top:n.top-e.height-t.y,right:n.right-e.width+t.x,bottom:n.bottom-e.height+t.y,left:n.left-e.width-t.x}}function Ko(n){return[nt,mt,ht,st].some(function(e){return n[e]>=0})}function Bc(n){var e=n.state,t=n.name,s=e.rects.reference,i=e.rects.popper,l=e.modifiersData.preventOverflow,o=zn(e,{elementContext:"reference"}),f=zn(e,{altBoundary:!0}),d=Go(o,s),p=Go(f,i,l),u=Ko(d),c=Ko(p);e.modifiersData[t]={referenceClippingOffsets:d,popperEscapeOffsets:p,isReferenceHidden:u,hasPopperEscaped:c},e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-reference-hidden":u,"data-popper-escaped":c})}const aa={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:Bc};function Wc(n,e,t){var s=Vt(n),i=[st,nt].indexOf(s)>=0?-1:1,l=typeof t=="function"?t(Object.assign({},e,{placement:n})):t,o=l[0],f=l[1];return o=o||0,f=(f||0)*i,[st,mt].indexOf(s)>=0?{x:f,y:o}:{x:o,y:f}}function Fc(n){var e=n.state,t=n.options,s=n.name,i=t.offset,l=i===void 0?[0,0]:i,o=Gi.reduce(function(u,c){return u[c]=Wc(c,e.rects,l),u},{}),f=o[e.placement],d=f.x,p=f.y;e.modifiersData.popperOffsets!=null&&(e.modifiersData.popperOffsets.x+=d,e.modifiersData.popperOffsets.y+=p),e.modifiersData[s]=o}const ca={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:Fc};function zc(n){var e=n.state,t=n.name;e.modifiersData[t]=la({reference:e.rects.reference,element:e.rects.popper,strategy:"absolute",placement:e.placement})}const eo={name:"popperOffsets",enabled:!0,phase:"read",fn:zc,data:{}};function Gc(n){return n==="x"?"y":"x"}function Kc(n){var e=n.state,t=n.options,s=n.name,i=t.mainAxis,l=i===void 0?!0:i,o=t.altAxis,f=o===void 0?!1:o,d=t.boundary,p=t.rootBoundary,u=t.altBoundary,c=t.padding,m=t.tether,h=m===void 0?!0:m,g=t.tetherOffset,A=g===void 0?0:g,y=zn(e,{boundary:d,rootBoundary:p,padding:c,altBoundary:u}),E=Vt(e.placement),C=Fn(e.placement),N=!C,b=Ui(E),v=Gc(b),w=e.modifiersData.popperOffsets,S=e.rects.reference,M=e.rects.popper,G=typeof A=="function"?A(Object.assign({},e.rects,{placement:e.placement})):A,U=typeof G=="number"?{mainAxis:G,altAxis:G}:Object.assign({mainAxis:0,altAxis:0},G),K=e.modifiersData.offset?e.modifiersData.offset[e.placement]:null,J={x:0,y:0};if(!!w){if(l){var q,ne=b==="y"?nt:st,O=b==="y"?ht:mt,X=b==="y"?"height":"width",I=w[b],le=I+y[ne],se=I-y[O],ie=h?-M[X]/2:0,_e=C===bn?S[X]:M[X],B=C===bn?-M[X]:-S[X],Q=e.elements.arrow,Z=h&&Q?qi(Q):{width:0,height:0},de=e.modifiersData["arrow#persistent"]?e.modifiersData["arrow#persistent"].padding:ta(),ke=de[ne],ae=de[O],oe=ns(0,S[X],Z[X]),Ae=N?S[X]/2-ie-oe-ke-U.mainAxis:_e-oe-ke-U.mainAxis,Ne=N?-S[X]/2+ie+oe+ae+U.mainAxis:B+oe+ae+U.mainAxis,$=e.elements.arrow&&as(e.elements.arrow),Y=$?b==="y"?$.clientTop||0:$.clientLeft||0:0,R=(q=K==null?void 0:K[b])!=null?q:0,W=I+Ae-R-Y,x=I+Ne-R,Le=ns(h?Ys(le,W):le,I,h?gn(se,x):se);w[b]=Le,J[b]=Le-I}if(f){var Re,et=b==="x"?nt:st,he=b==="x"?ht:mt,me=w[v],Te=v==="y"?"height":"width",F=me+y[et],Oe=me-y[he],Be=[nt,st].indexOf(E)!==-1,at=(Re=K==null?void 0:K[v])!=null?Re:0,Ye=Be?F:me-S[Te]-M[Te]-at+U.altAxis,We=Be?me+S[Te]+M[Te]-at-U.altAxis:Oe,vt=h&&Be?kc(Ye,me,We):ns(h?Ye:F,me,h?We:Oe);w[v]=vt,J[v]=vt-me}e.modifiersData[s]=J}}const ua={name:"preventOverflow",enabled:!0,phase:"main",fn:Kc,requiresIfExists:["offset"]};function Yc(n){return{scrollLeft:n.scrollLeft,scrollTop:n.scrollTop}}function qc(n){return n===Tt(n)||!Et(n)?Ji(n):Yc(n)}function Uc(n){var e=n.getBoundingClientRect(),t=Bn(e.width)/n.offsetWidth||1,s=Bn(e.height)/n.offsetHeight||1;return t!==1||s!==1}function Qc(n,e,t){t===void 0&&(t=!1);var s=Et(e),i=Et(e)&&Uc(e),l=un(e),o=Wn(n,i,t),f={scrollLeft:0,scrollTop:0},d={x:0,y:0};return(s||!s&&!t)&&((Ft(e)!=="body"||xi(l))&&(f=qc(e)),Et(e)?(d=Wn(e,!0),d.x+=e.clientLeft,d.y+=e.clientTop):l&&(d.x=Zi(l))),{x:o.left+f.scrollLeft-d.x,y:o.top+f.scrollTop-d.y,width:o.width,height:o.height}}function Xc(n){var e=new Map,t=new Set,s=[];n.forEach(function(l){e.set(l.name,l)});function i(l){t.add(l.name);var o=[].concat(l.requires||[],l.requiresIfExists||[]);o.forEach(function(f){if(!t.has(f)){var d=e.get(f);d&&i(d)}}),s.push(l)}return n.forEach(function(l){t.has(l.name)||i(l)}),s}function Jc(n){var e=Xc(n);return Zr.reduce(function(t,s){return t.concat(e.filter(function(i){return i.phase===s}))},[])}function Zc(n){var e;return function(){return e||(e=new Promise(function(t){Promise.resolve().then(function(){e=void 0,t(n())})})),e}}function xc(n){var e=n.reduce(function(t,s){var i=t[s.name];return t[s.name]=i?Object.assign({},i,s,{options:Object.assign({},i.options,s.options),data:Object.assign({},i.data,s.data)}):s,t},{});return Object.keys(e).map(function(t){return e[t]})}var Yo={placement:"bottom",modifiers:[],strategy:"absolute"};function qo(){for(var n=arguments.length,e=new Array(n),t=0;tn==null?`${n}`:Object.prototype.toString.call(n).match(/\s([a-z]+)/i)[1].toLowerCase(),ru=n=>{do n+=Math.floor(Math.random()*iu);while(document.getElementById(n));return n},fa=n=>{let e=n.getAttribute("data-bs-target");if(!e||e==="#"){let t=n.getAttribute("href");if(!t||!t.includes("#")&&!t.startsWith("."))return null;t.includes("#")&&!t.startsWith("#")&&(t=`#${t.split("#")[1]}`),e=t&&t!=="#"?t.trim():null}return e},pa=n=>{const e=fa(n);return e&&document.querySelector(e)?e:null},Zt=n=>{const e=fa(n);return e?document.querySelector(e):null},au=n=>{if(!n)return 0;let{transitionDuration:e,transitionDelay:t}=window.getComputedStyle(n);const s=Number.parseFloat(e),i=Number.parseFloat(t);return!s&&!i?0:(e=e.split(",")[0],t=t.split(",")[0],(Number.parseFloat(e)+Number.parseFloat(t))*ou)},_a=n=>{n.dispatchEvent(new Event(Si))},xt=n=>!n||typeof n!="object"?!1:(typeof n.jquery<"u"&&(n=n[0]),typeof n.nodeType<"u"),rn=n=>xt(n)?n.jquery?n[0]:n:typeof n=="string"&&n.length>0?document.querySelector(n):null,Un=n=>{if(!xt(n)||n.getClientRects().length===0)return!1;const e=getComputedStyle(n).getPropertyValue("visibility")==="visible",t=n.closest("details:not([open])");if(!t)return e;if(t!==n){const s=n.closest("summary");if(s&&s.parentNode!==t||s===null)return!1}return e},an=n=>!n||n.nodeType!==Node.ELEMENT_NODE||n.classList.contains("disabled")?!0:typeof n.disabled<"u"?n.disabled:n.hasAttribute("disabled")&&n.getAttribute("disabled")!=="false",ha=n=>{if(!document.documentElement.attachShadow)return null;if(typeof n.getRootNode=="function"){const e=n.getRootNode();return e instanceof ShadowRoot?e:null}return n instanceof ShadowRoot?n:n.parentNode?ha(n.parentNode):null},qs=()=>{},cs=n=>{n.offsetHeight},ma=()=>window.jQuery&&!document.body.hasAttribute("data-bs-no-jquery")?window.jQuery:null,fi=[],cu=n=>{document.readyState==="loading"?(fi.length||document.addEventListener("DOMContentLoaded",()=>{for(const e of fi)e()}),fi.push(n)):n()},At=()=>document.documentElement.dir==="rtl",Ct=n=>{cu(()=>{const e=ma();if(e){const t=n.NAME,s=e.fn[t];e.fn[t]=n.jQueryInterface,e.fn[t].Constructor=n,e.fn[t].noConflict=()=>(e.fn[t]=s,n.jQueryInterface)}})},Jt=n=>{typeof n=="function"&&n()},ga=(n,e,t=!0)=>{if(!t){Jt(n);return}const s=5,i=au(e)+s;let l=!1;const o=({target:f})=>{f===e&&(l=!0,e.removeEventListener(Si,o),Jt(n))};e.addEventListener(Si,o),setTimeout(()=>{l||_a(e)},i)},no=(n,e,t,s)=>{const i=n.length;let l=n.indexOf(e);return l===-1?!t&&s?n[i-1]:n[0]:(l+=t?1:-1,s&&(l=(l+i)%i),n[Math.max(0,Math.min(l,i-1))])},uu=/[^.]*(?=\..*)\.|.*/,du=/\..*/,fu=/::\d+$/,pi={};let Uo=1;const ba={mouseenter:"mouseover",mouseleave:"mouseout"},pu=new Set(["click","dblclick","mouseup","mousedown","contextmenu","mousewheel","DOMMouseScroll","mouseover","mouseout","mousemove","selectstart","selectend","keydown","keypress","keyup","orientationchange","touchstart","touchmove","touchend","touchcancel","pointerdown","pointermove","pointerup","pointerleave","pointercancel","gesturestart","gesturechange","gestureend","focus","blur","change","reset","select","submit","focusin","focusout","load","unload","beforeunload","resize","move","DOMContentLoaded","readystatechange","error","abort","scroll"]);function va(n,e){return e&&`${e}::${Uo++}`||n.uidEvent||Uo++}function wa(n){const e=va(n);return n.uidEvent=e,pi[e]=pi[e]||{},pi[e]}function _u(n,e){return function t(s){return so(s,{delegateTarget:n}),t.oneOff&&z.off(n,s.type,e),e.apply(n,[s])}}function hu(n,e,t){return function s(i){const l=n.querySelectorAll(e);for(let{target:o}=i;o&&o!==this;o=o.parentNode)for(const f of l)if(f===o)return so(i,{delegateTarget:o}),s.oneOff&&z.off(n,i.type,e,t),t.apply(o,[i])}}function ya(n,e,t=null){return Object.values(n).find(s=>s.callable===e&&s.delegationSelector===t)}function ka(n,e,t){const s=typeof e=="string",i=s?t:e||t;let l=Ea(n);return pu.has(l)||(l=n),[s,i,l]}function Qo(n,e,t,s,i){if(typeof e!="string"||!n)return;let[l,o,f]=ka(e,t,s);e in ba&&(o=(g=>function(A){if(!A.relatedTarget||A.relatedTarget!==A.delegateTarget&&!A.delegateTarget.contains(A.relatedTarget))return g.call(this,A)})(o));const d=wa(n),p=d[f]||(d[f]={}),u=ya(p,o,l?t:null);if(u){u.oneOff=u.oneOff&&i;return}const c=va(o,e.replace(uu,"")),m=l?hu(n,t,o):_u(n,o);m.delegationSelector=l?t:null,m.callable=o,m.oneOff=i,m.uidEvent=c,p[c]=m,n.addEventListener(f,m,l)}function Li(n,e,t,s,i){const l=ya(e[t],s,i);!l||(n.removeEventListener(t,l,Boolean(i)),delete e[t][l.uidEvent])}function mu(n,e,t,s){const i=e[t]||{};for(const l of Object.keys(i))if(l.includes(s)){const o=i[l];Li(n,e,t,o.callable,o.delegationSelector)}}function Ea(n){return n=n.replace(du,""),ba[n]||n}const z={on(n,e,t,s){Qo(n,e,t,s,!1)},one(n,e,t,s){Qo(n,e,t,s,!0)},off(n,e,t,s){if(typeof e!="string"||!n)return;const[i,l,o]=ka(e,t,s),f=o!==e,d=wa(n),p=d[o]||{},u=e.startsWith(".");if(typeof l<"u"){if(!Object.keys(p).length)return;Li(n,d,o,l,i?t:null);return}if(u)for(const c of Object.keys(d))mu(n,d,c,e.slice(1));for(const c of Object.keys(p)){const m=c.replace(fu,"");if(!f||e.includes(m)){const h=p[c];Li(n,d,o,h.callable,h.delegationSelector)}}},trigger(n,e,t){if(typeof e!="string"||!n)return null;const s=ma(),i=Ea(e),l=e!==i;let o=null,f=!0,d=!0,p=!1;l&&s&&(o=s.Event(e,t),s(n).trigger(o),f=!o.isPropagationStopped(),d=!o.isImmediatePropagationStopped(),p=o.isDefaultPrevented());let u=new Event(e,{bubbles:f,cancelable:!0});return u=so(u,t),p&&u.preventDefault(),d&&n.dispatchEvent(u),u.defaultPrevented&&o&&o.preventDefault(),u}};function so(n,e){for(const[t,s]of Object.entries(e||{}))try{n[t]=s}catch{Object.defineProperty(n,t,{configurable:!0,get(){return s}})}return n}const sn=new Map,_i={set(n,e,t){sn.has(n)||sn.set(n,new Map);const s=sn.get(n);if(!s.has(e)&&s.size!==0){console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(s.keys())[0]}.`);return}s.set(e,t)},get(n,e){return sn.has(n)&&sn.get(n).get(e)||null},remove(n,e){if(!sn.has(n))return;const t=sn.get(n);t.delete(e),t.size===0&&sn.delete(n)}};function Xo(n){if(n==="true")return!0;if(n==="false")return!1;if(n===Number(n).toString())return Number(n);if(n===""||n==="null")return null;if(typeof n!="string")return n;try{return JSON.parse(decodeURIComponent(n))}catch{return n}}function hi(n){return n.replace(/[A-Z]/g,e=>`-${e.toLowerCase()}`)}const en={setDataAttribute(n,e,t){n.setAttribute(`data-bs-${hi(e)}`,t)},removeDataAttribute(n,e){n.removeAttribute(`data-bs-${hi(e)}`)},getDataAttributes(n){if(!n)return{};const e={},t=Object.keys(n.dataset).filter(s=>s.startsWith("bs")&&!s.startsWith("bsConfig"));for(const s of t){let i=s.replace(/^bs/,"");i=i.charAt(0).toLowerCase()+i.slice(1,i.length),e[i]=Xo(n.dataset[s])}return e},getDataAttribute(n,e){return Xo(n.getAttribute(`data-bs-${hi(e)}`))}};class us{static get Default(){return{}}static get DefaultType(){return{}}static get NAME(){throw new Error('You have to implement the static method "NAME", for each component!')}_getConfig(e){return e=this._mergeConfigObj(e),e=this._configAfterMerge(e),this._typeCheckConfig(e),e}_configAfterMerge(e){return e}_mergeConfigObj(e,t){const s=xt(t)?en.getDataAttribute(t,"config"):{};return{...this.constructor.Default,...typeof s=="object"?s:{},...xt(t)?en.getDataAttributes(t):{},...typeof e=="object"?e:{}}}_typeCheckConfig(e,t=this.constructor.DefaultType){for(const s of Object.keys(t)){const i=t[s],l=e[s],o=xt(l)?"element":lu(l);if(!new RegExp(i).test(o))throw new TypeError(`${this.constructor.NAME.toUpperCase()}: Option "${s}" provided type "${o}" but expected type "${i}".`)}}}const gu="5.2.0";class Lt extends us{constructor(e,t){super(),e=rn(e),e&&(this._element=e,this._config=this._getConfig(t),_i.set(this._element,this.constructor.DATA_KEY,this))}dispose(){_i.remove(this._element,this.constructor.DATA_KEY),z.off(this._element,this.constructor.EVENT_KEY);for(const e of Object.getOwnPropertyNames(this))this[e]=null}_queueCallback(e,t,s=!0){ga(e,t,s)}_getConfig(e){return e=this._mergeConfigObj(e,this._element),e=this._configAfterMerge(e),this._typeCheckConfig(e),e}static getInstance(e){return _i.get(rn(e),this.DATA_KEY)}static getOrCreateInstance(e,t={}){return this.getInstance(e)||new this(e,typeof t=="object"?t:null)}static get VERSION(){return gu}static get DATA_KEY(){return`bs.${this.NAME}`}static get EVENT_KEY(){return`.${this.DATA_KEY}`}static eventName(e){return`${e}${this.EVENT_KEY}`}}const ni=(n,e="hide")=>{const t=`click.dismiss${n.EVENT_KEY}`,s=n.NAME;z.on(document,t,`[data-bs-dismiss="${s}"]`,function(i){if(["A","AREA"].includes(this.tagName)&&i.preventDefault(),an(this))return;const l=Zt(this)||this.closest(`.${s}`);n.getOrCreateInstance(l)[e]()})},bu="alert",vu="bs.alert",Aa=`.${vu}`,wu=`close${Aa}`,yu=`closed${Aa}`,ku="fade",Eu="show";class si extends Lt{static get NAME(){return bu}close(){if(z.trigger(this._element,wu).defaultPrevented)return;this._element.classList.remove(Eu);const t=this._element.classList.contains(ku);this._queueCallback(()=>this._destroyElement(),this._element,t)}_destroyElement(){this._element.remove(),z.trigger(this._element,yu),this.dispose()}static jQueryInterface(e){return this.each(function(){const t=si.getOrCreateInstance(this);if(typeof e=="string"){if(t[e]===void 0||e.startsWith("_")||e==="constructor")throw new TypeError(`No method named "${e}"`);t[e](this)}})}}ni(si,"close");Ct(si);const Au="button",Tu="bs.button",Cu=`.${Tu}`,Ou=".data-api",Nu="active",Jo='[data-bs-toggle="button"]',Su=`click${Cu}${Ou}`;class ii extends Lt{static get NAME(){return Au}toggle(){this._element.setAttribute("aria-pressed",this._element.classList.toggle(Nu))}static jQueryInterface(e){return this.each(function(){const t=ii.getOrCreateInstance(this);e==="toggle"&&t[e]()})}}z.on(document,Su,Jo,n=>{n.preventDefault();const e=n.target.closest(Jo);ii.getOrCreateInstance(e).toggle()});Ct(ii);const we={find(n,e=document.documentElement){return[].concat(...Element.prototype.querySelectorAll.call(e,n))},findOne(n,e=document.documentElement){return Element.prototype.querySelector.call(e,n)},children(n,e){return[].concat(...n.children).filter(t=>t.matches(e))},parents(n,e){const t=[];let s=n.parentNode.closest(e);for(;s;)t.push(s),s=s.parentNode.closest(e);return t},prev(n,e){let t=n.previousElementSibling;for(;t;){if(t.matches(e))return[t];t=t.previousElementSibling}return[]},next(n,e){let t=n.nextElementSibling;for(;t;){if(t.matches(e))return[t];t=t.nextElementSibling}return[]},focusableChildren(n){const e=["a","button","input","textarea","select","details","[tabindex]",'[contenteditable="true"]'].map(t=>`${t}:not([tabindex^="-"])`).join(",");return this.find(e,n).filter(t=>!an(t)&&Un(t))}},Lu="swipe",Qn=".bs.swipe",Du=`touchstart${Qn}`,Iu=`touchmove${Qn}`,Mu=`touchend${Qn}`,$u=`pointerdown${Qn}`,Pu=`pointerup${Qn}`,Ru="touch",ju="pen",Hu="pointer-event",Vu=40,Bu={endCallback:null,leftCallback:null,rightCallback:null},Wu={endCallback:"(function|null)",leftCallback:"(function|null)",rightCallback:"(function|null)"};class Us extends us{constructor(e,t){super(),this._element=e,!(!e||!Us.isSupported())&&(this._config=this._getConfig(t),this._deltaX=0,this._supportPointerEvents=Boolean(window.PointerEvent),this._initEvents())}static get Default(){return Bu}static get DefaultType(){return Wu}static get NAME(){return Lu}dispose(){z.off(this._element,Qn)}_start(e){if(!this._supportPointerEvents){this._deltaX=e.touches[0].clientX;return}this._eventIsPointerPenTouch(e)&&(this._deltaX=e.clientX)}_end(e){this._eventIsPointerPenTouch(e)&&(this._deltaX=e.clientX-this._deltaX),this._handleSwipe(),Jt(this._config.endCallback)}_move(e){this._deltaX=e.touches&&e.touches.length>1?0:e.touches[0].clientX-this._deltaX}_handleSwipe(){const e=Math.abs(this._deltaX);if(e<=Vu)return;const t=e/this._deltaX;this._deltaX=0,t&&Jt(t>0?this._config.rightCallback:this._config.leftCallback)}_initEvents(){this._supportPointerEvents?(z.on(this._element,$u,e=>this._start(e)),z.on(this._element,Pu,e=>this._end(e)),this._element.classList.add(Hu)):(z.on(this._element,Du,e=>this._start(e)),z.on(this._element,Iu,e=>this._move(e)),z.on(this._element,Mu,e=>this._end(e)))}_eventIsPointerPenTouch(e){return this._supportPointerEvents&&(e.pointerType===ju||e.pointerType===Ru)}static isSupported(){return"ontouchstart"in document.documentElement||navigator.maxTouchPoints>0}}const Fu="carousel",zu="bs.carousel",dn=`.${zu}`,Ta=".data-api",Gu="ArrowLeft",Ku="ArrowRight",Yu=500,Jn="next",In="prev",Pn="left",Bs="right",qu=`slide${dn}`,mi=`slid${dn}`,Uu=`keydown${dn}`,Qu=`mouseenter${dn}`,Xu=`mouseleave${dn}`,Ju=`dragstart${dn}`,Zu=`load${dn}${Ta}`,xu=`click${dn}${Ta}`,Ca="carousel",Ls="active",ed="slide",td="carousel-item-end",nd="carousel-item-start",sd="carousel-item-next",id="carousel-item-prev",Oa=".active",Na=".carousel-item",od=Oa+Na,ld=".carousel-item img",rd=".carousel-indicators",ad="[data-bs-slide], [data-bs-slide-to]",cd='[data-bs-ride="carousel"]',ud={[Gu]:Bs,[Ku]:Pn},dd={interval:5e3,keyboard:!0,pause:"hover",ride:!1,touch:!0,wrap:!0},fd={interval:"(number|boolean)",keyboard:"boolean",pause:"(string|boolean)",ride:"(boolean|string)",touch:"boolean",wrap:"boolean"};class ds extends Lt{constructor(e,t){super(e,t),this._interval=null,this._activeElement=null,this._isSliding=!1,this.touchTimeout=null,this._swipeHelper=null,this._indicatorsElement=we.findOne(rd,this._element),this._addEventListeners(),this._config.ride===Ca&&this.cycle()}static get Default(){return dd}static get DefaultType(){return fd}static get NAME(){return Fu}next(){this._slide(Jn)}nextWhenVisible(){!document.hidden&&Un(this._element)&&this.next()}prev(){this._slide(In)}pause(){this._isSliding&&_a(this._element),this._clearInterval()}cycle(){this._clearInterval(),this._updateInterval(),this._interval=setInterval(()=>this.nextWhenVisible(),this._config.interval)}_maybeEnableCycle(){if(!!this._config.ride){if(this._isSliding){z.one(this._element,mi,()=>this.cycle());return}this.cycle()}}to(e){const t=this._getItems();if(e>t.length-1||e<0)return;if(this._isSliding){z.one(this._element,mi,()=>this.to(e));return}const s=this._getItemIndex(this._getActive());if(s===e)return;const i=e>s?Jn:In;this._slide(i,t[e])}dispose(){this._swipeHelper&&this._swipeHelper.dispose(),super.dispose()}_configAfterMerge(e){return e.defaultInterval=e.interval,e}_addEventListeners(){this._config.keyboard&&z.on(this._element,Uu,e=>this._keydown(e)),this._config.pause==="hover"&&(z.on(this._element,Qu,()=>this.pause()),z.on(this._element,Xu,()=>this._maybeEnableCycle())),this._config.touch&&Us.isSupported()&&this._addTouchEventListeners()}_addTouchEventListeners(){for(const s of we.find(ld,this._element))z.on(s,Ju,i=>i.preventDefault());const t={leftCallback:()=>this._slide(this._directionToOrder(Pn)),rightCallback:()=>this._slide(this._directionToOrder(Bs)),endCallback:()=>{this._config.pause==="hover"&&(this.pause(),this.touchTimeout&&clearTimeout(this.touchTimeout),this.touchTimeout=setTimeout(()=>this._maybeEnableCycle(),Yu+this._config.interval))}};this._swipeHelper=new Us(this._element,t)}_keydown(e){if(/input|textarea/i.test(e.target.tagName))return;const t=ud[e.key];t&&(e.preventDefault(),this._slide(this._directionToOrder(t)))}_getItemIndex(e){return this._getItems().indexOf(e)}_setActiveIndicatorElement(e){if(!this._indicatorsElement)return;const t=we.findOne(Oa,this._indicatorsElement);t.classList.remove(Ls),t.removeAttribute("aria-current");const s=we.findOne(`[data-bs-slide-to="${e}"]`,this._indicatorsElement);s&&(s.classList.add(Ls),s.setAttribute("aria-current","true"))}_updateInterval(){const e=this._activeElement||this._getActive();if(!e)return;const t=Number.parseInt(e.getAttribute("data-bs-interval"),10);this._config.interval=t||this._config.defaultInterval}_slide(e,t=null){if(this._isSliding)return;const s=this._getActive(),i=e===Jn,l=t||no(this._getItems(),s,i,this._config.wrap);if(l===s)return;const o=this._getItemIndex(l),f=h=>z.trigger(this._element,h,{relatedTarget:l,direction:this._orderToDirection(e),from:this._getItemIndex(s),to:o});if(f(qu).defaultPrevented||!s||!l)return;const p=Boolean(this._interval);this.pause(),this._isSliding=!0,this._setActiveIndicatorElement(o),this._activeElement=l;const u=i?nd:td,c=i?sd:id;l.classList.add(c),cs(l),s.classList.add(u),l.classList.add(u);const m=()=>{l.classList.remove(u,c),l.classList.add(Ls),s.classList.remove(Ls,c,u),this._isSliding=!1,f(mi)};this._queueCallback(m,s,this._isAnimated()),p&&this.cycle()}_isAnimated(){return this._element.classList.contains(ed)}_getActive(){return we.findOne(od,this._element)}_getItems(){return we.find(Na,this._element)}_clearInterval(){this._interval&&(clearInterval(this._interval),this._interval=null)}_directionToOrder(e){return At()?e===Pn?In:Jn:e===Pn?Jn:In}_orderToDirection(e){return At()?e===In?Pn:Bs:e===In?Bs:Pn}static jQueryInterface(e){return this.each(function(){const t=ds.getOrCreateInstance(this,e);if(typeof e=="number"){t.to(e);return}if(typeof e=="string"){if(t[e]===void 0||e.startsWith("_")||e==="constructor")throw new TypeError(`No method named "${e}"`);t[e]()}})}}z.on(document,xu,ad,function(n){const e=Zt(this);if(!e||!e.classList.contains(Ca))return;n.preventDefault();const t=ds.getOrCreateInstance(e),s=this.getAttribute("data-bs-slide-to");if(s){t.to(s),t._maybeEnableCycle();return}if(en.getDataAttribute(this,"slide")==="next"){t.next(),t._maybeEnableCycle();return}t.prev(),t._maybeEnableCycle()});z.on(window,Zu,()=>{const n=we.find(cd);for(const e of n)ds.getOrCreateInstance(e)});Ct(ds);const pd="collapse",_d="bs.collapse",fs=`.${_d}`,hd=".data-api",md=`show${fs}`,gd=`shown${fs}`,bd=`hide${fs}`,vd=`hidden${fs}`,wd=`click${fs}${hd}`,gi="show",jn="collapse",Ds="collapsing",yd="collapsed",kd=`:scope .${jn} .${jn}`,Ed="collapse-horizontal",Ad="width",Td="height",Cd=".collapse.show, .collapse.collapsing",Di='[data-bs-toggle="collapse"]',Od={parent:null,toggle:!0},Nd={parent:"(null|element)",toggle:"boolean"};class ls extends Lt{constructor(e,t){super(e,t),this._isTransitioning=!1,this._triggerArray=[];const s=we.find(Di);for(const i of s){const l=pa(i),o=we.find(l).filter(f=>f===this._element);l!==null&&o.length&&this._triggerArray.push(i)}this._initializeChildren(),this._config.parent||this._addAriaAndCollapsedClass(this._triggerArray,this._isShown()),this._config.toggle&&this.toggle()}static get Default(){return Od}static get DefaultType(){return Nd}static get NAME(){return pd}toggle(){this._isShown()?this.hide():this.show()}show(){if(this._isTransitioning||this._isShown())return;let e=[];if(this._config.parent&&(e=this._getFirstLevelChildren(Cd).filter(f=>f!==this._element).map(f=>ls.getOrCreateInstance(f,{toggle:!1}))),e.length&&e[0]._isTransitioning||z.trigger(this._element,md).defaultPrevented)return;for(const f of e)f.hide();const s=this._getDimension();this._element.classList.remove(jn),this._element.classList.add(Ds),this._element.style[s]=0,this._addAriaAndCollapsedClass(this._triggerArray,!0),this._isTransitioning=!0;const i=()=>{this._isTransitioning=!1,this._element.classList.remove(Ds),this._element.classList.add(jn,gi),this._element.style[s]="",z.trigger(this._element,gd)},o=`scroll${s[0].toUpperCase()+s.slice(1)}`;this._queueCallback(i,this._element,!0),this._element.style[s]=`${this._element[o]}px`}hide(){if(this._isTransitioning||!this._isShown()||z.trigger(this._element,bd).defaultPrevented)return;const t=this._getDimension();this._element.style[t]=`${this._element.getBoundingClientRect()[t]}px`,cs(this._element),this._element.classList.add(Ds),this._element.classList.remove(jn,gi);for(const i of this._triggerArray){const l=Zt(i);l&&!this._isShown(l)&&this._addAriaAndCollapsedClass([i],!1)}this._isTransitioning=!0;const s=()=>{this._isTransitioning=!1,this._element.classList.remove(Ds),this._element.classList.add(jn),z.trigger(this._element,vd)};this._element.style[t]="",this._queueCallback(s,this._element,!0)}_isShown(e=this._element){return e.classList.contains(gi)}_configAfterMerge(e){return e.toggle=Boolean(e.toggle),e.parent=rn(e.parent),e}_getDimension(){return this._element.classList.contains(Ed)?Ad:Td}_initializeChildren(){if(!this._config.parent)return;const e=this._getFirstLevelChildren(Di);for(const t of e){const s=Zt(t);s&&this._addAriaAndCollapsedClass([t],this._isShown(s))}}_getFirstLevelChildren(e){const t=we.find(kd,this._config.parent);return we.find(e,this._config.parent).filter(s=>!t.includes(s))}_addAriaAndCollapsedClass(e,t){if(!!e.length)for(const s of e)s.classList.toggle(yd,!t),s.setAttribute("aria-expanded",t)}static jQueryInterface(e){const t={};return typeof e=="string"&&/show|hide/.test(e)&&(t.toggle=!1),this.each(function(){const s=ls.getOrCreateInstance(this,t);if(typeof e=="string"){if(typeof s[e]>"u")throw new TypeError(`No method named "${e}"`);s[e]()}})}}z.on(document,wd,Di,function(n){(n.target.tagName==="A"||n.delegateTarget&&n.delegateTarget.tagName==="A")&&n.preventDefault();const e=pa(this),t=we.find(e);for(const s of t)ls.getOrCreateInstance(s,{toggle:!1}).toggle()});Ct(ls);const Zo="dropdown",Sd="bs.dropdown",yn=`.${Sd}`,io=".data-api",Ld="Escape",xo="Tab",Dd="ArrowUp",el="ArrowDown",Id=2,Md=`hide${yn}`,$d=`hidden${yn}`,Pd=`show${yn}`,Rd=`shown${yn}`,Sa=`click${yn}${io}`,La=`keydown${yn}${io}`,jd=`keyup${yn}${io}`,Rn="show",Hd="dropup",Vd="dropend",Bd="dropstart",Wd="dropup-center",Fd="dropdown-center",oi='[data-bs-toggle="dropdown"]:not(.disabled):not(:disabled)',zd=`${oi}.${Rn}`,Da=".dropdown-menu",Gd=".navbar",Kd=".navbar-nav",Yd=".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)",qd=At()?"top-end":"top-start",Ud=At()?"top-start":"top-end",Qd=At()?"bottom-end":"bottom-start",Xd=At()?"bottom-start":"bottom-end",Jd=At()?"left-start":"right-start",Zd=At()?"right-start":"left-start",xd="top",ef="bottom",tf={autoClose:!0,boundary:"clippingParents",display:"dynamic",offset:[0,2],popperConfig:null,reference:"toggle"},nf={autoClose:"(boolean|string)",boundary:"(string|element)",display:"string",offset:"(array|string|function)",popperConfig:"(null|object|function)",reference:"(string|element|object)"};class Nt extends Lt{constructor(e,t){super(e,t),this._popper=null,this._parent=this._element.parentNode,this._menu=we.findOne(Da,this._parent),this._inNavbar=this._detectNavbar()}static get Default(){return tf}static get DefaultType(){return nf}static get NAME(){return Zo}toggle(){return this._isShown()?this.hide():this.show()}show(){if(an(this._element)||this._isShown())return;const e={relatedTarget:this._element};if(!z.trigger(this._element,Pd,e).defaultPrevented){if(this._createPopper(),"ontouchstart"in document.documentElement&&!this._parent.closest(Kd))for(const s of[].concat(...document.body.children))z.on(s,"mouseover",qs);this._element.focus(),this._element.setAttribute("aria-expanded",!0),this._menu.classList.add(Rn),this._element.classList.add(Rn),z.trigger(this._element,Rd,e)}}hide(){if(an(this._element)||!this._isShown())return;const e={relatedTarget:this._element};this._completeHide(e)}dispose(){this._popper&&this._popper.destroy(),super.dispose()}update(){this._inNavbar=this._detectNavbar(),this._popper&&this._popper.update()}_completeHide(e){if(!z.trigger(this._element,Md,e).defaultPrevented){if("ontouchstart"in document.documentElement)for(const s of[].concat(...document.body.children))z.off(s,"mouseover",qs);this._popper&&this._popper.destroy(),this._menu.classList.remove(Rn),this._element.classList.remove(Rn),this._element.setAttribute("aria-expanded","false"),en.removeDataAttribute(this._menu,"popper"),z.trigger(this._element,$d,e)}}_getConfig(e){if(e=super._getConfig(e),typeof e.reference=="object"&&!xt(e.reference)&&typeof e.reference.getBoundingClientRect!="function")throw new TypeError(`${Zo.toUpperCase()}: Option "reference" provided type "object" without a required "getBoundingClientRect" method.`);return e}_createPopper(){if(typeof da>"u")throw new TypeError("Bootstrap's dropdowns require Popper (https://popper.js.org)");let e=this._element;this._config.reference==="parent"?e=this._parent:xt(this._config.reference)?e=rn(this._config.reference):typeof this._config.reference=="object"&&(e=this._config.reference);const t=this._getPopperConfig();this._popper=to(e,this._menu,t)}_isShown(){return this._menu.classList.contains(Rn)}_getPlacement(){const e=this._parent;if(e.classList.contains(Vd))return Jd;if(e.classList.contains(Bd))return Zd;if(e.classList.contains(Wd))return xd;if(e.classList.contains(Fd))return ef;const t=getComputedStyle(this._menu).getPropertyValue("--bs-position").trim()==="end";return e.classList.contains(Hd)?t?Ud:qd:t?Xd:Qd}_detectNavbar(){return this._element.closest(Gd)!==null}_getOffset(){const{offset:e}=this._config;return typeof e=="string"?e.split(",").map(t=>Number.parseInt(t,10)):typeof e=="function"?t=>e(t,this._element):e}_getPopperConfig(){const e={placement:this._getPlacement(),modifiers:[{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"offset",options:{offset:this._getOffset()}}]};return(this._inNavbar||this._config.display==="static")&&(en.setDataAttribute(this._menu,"popper","static"),e.modifiers=[{name:"applyStyles",enabled:!1}]),{...e,...typeof this._config.popperConfig=="function"?this._config.popperConfig(e):this._config.popperConfig}}_selectMenuItem({key:e,target:t}){const s=we.find(Yd,this._menu).filter(i=>Un(i));!s.length||no(s,t,e===el,!s.includes(t)).focus()}static jQueryInterface(e){return this.each(function(){const t=Nt.getOrCreateInstance(this,e);if(typeof e=="string"){if(typeof t[e]>"u")throw new TypeError(`No method named "${e}"`);t[e]()}})}static clearMenus(e){if(e.button===Id||e.type==="keyup"&&e.key!==xo)return;const t=we.find(zd);for(const s of t){const i=Nt.getInstance(s);if(!i||i._config.autoClose===!1)continue;const l=e.composedPath(),o=l.includes(i._menu);if(l.includes(i._element)||i._config.autoClose==="inside"&&!o||i._config.autoClose==="outside"&&o||i._menu.contains(e.target)&&(e.type==="keyup"&&e.key===xo||/input|select|option|textarea|form/i.test(e.target.tagName)))continue;const f={relatedTarget:i._element};e.type==="click"&&(f.clickEvent=e),i._completeHide(f)}}static dataApiKeydownHandler(e){const t=/input|textarea/i.test(e.target.tagName),s=e.key===Ld,i=[Dd,el].includes(e.key);if(!i&&!s||t&&!s)return;e.preventDefault();const l=we.findOne(oi,e.delegateTarget.parentNode),o=Nt.getOrCreateInstance(l);if(i){e.stopPropagation(),o.show(),o._selectMenuItem(e);return}o._isShown()&&(e.stopPropagation(),o.hide(),l.focus())}}z.on(document,La,oi,Nt.dataApiKeydownHandler);z.on(document,La,Da,Nt.dataApiKeydownHandler);z.on(document,Sa,Nt.clearMenus);z.on(document,jd,Nt.clearMenus);z.on(document,Sa,oi,function(n){n.preventDefault(),Nt.getOrCreateInstance(this).toggle()});Ct(Nt);const tl=".fixed-top, .fixed-bottom, .is-fixed, .sticky-top",nl=".sticky-top",Is="padding-right",sl="margin-right";class Ii{constructor(){this._element=document.body}getWidth(){const e=document.documentElement.clientWidth;return Math.abs(window.innerWidth-e)}hide(){const e=this.getWidth();this._disableOverFlow(),this._setElementAttributes(this._element,Is,t=>t+e),this._setElementAttributes(tl,Is,t=>t+e),this._setElementAttributes(nl,sl,t=>t-e)}reset(){this._resetElementAttributes(this._element,"overflow"),this._resetElementAttributes(this._element,Is),this._resetElementAttributes(tl,Is),this._resetElementAttributes(nl,sl)}isOverflowing(){return this.getWidth()>0}_disableOverFlow(){this._saveInitialAttribute(this._element,"overflow"),this._element.style.overflow="hidden"}_setElementAttributes(e,t,s){const i=this.getWidth(),l=o=>{if(o!==this._element&&window.innerWidth>o.clientWidth+i)return;this._saveInitialAttribute(o,t);const f=window.getComputedStyle(o).getPropertyValue(t);o.style.setProperty(t,`${s(Number.parseFloat(f))}px`)};this._applyManipulationCallback(e,l)}_saveInitialAttribute(e,t){const s=e.style.getPropertyValue(t);s&&en.setDataAttribute(e,t,s)}_resetElementAttributes(e,t){const s=i=>{const l=en.getDataAttribute(i,t);if(l===null){i.style.removeProperty(t);return}en.removeDataAttribute(i,t),i.style.setProperty(t,l)};this._applyManipulationCallback(e,s)}_applyManipulationCallback(e,t){if(xt(e)){t(e);return}for(const s of we.find(e,this._element))t(s)}}const Ia="backdrop",sf="fade",il="show",ol=`mousedown.bs.${Ia}`,of={className:"modal-backdrop",clickCallback:null,isAnimated:!1,isVisible:!0,rootElement:"body"},lf={className:"string",clickCallback:"(function|null)",isAnimated:"boolean",isVisible:"boolean",rootElement:"(element|string)"};class Ma extends us{constructor(e){super(),this._config=this._getConfig(e),this._isAppended=!1,this._element=null}static get Default(){return of}static get DefaultType(){return lf}static get NAME(){return Ia}show(e){if(!this._config.isVisible){Jt(e);return}this._append();const t=this._getElement();this._config.isAnimated&&cs(t),t.classList.add(il),this._emulateAnimation(()=>{Jt(e)})}hide(e){if(!this._config.isVisible){Jt(e);return}this._getElement().classList.remove(il),this._emulateAnimation(()=>{this.dispose(),Jt(e)})}dispose(){!this._isAppended||(z.off(this._element,ol),this._element.remove(),this._isAppended=!1)}_getElement(){if(!this._element){const e=document.createElement("div");e.className=this._config.className,this._config.isAnimated&&e.classList.add(sf),this._element=e}return this._element}_configAfterMerge(e){return e.rootElement=rn(e.rootElement),e}_append(){if(this._isAppended)return;const e=this._getElement();this._config.rootElement.append(e),z.on(e,ol,()=>{Jt(this._config.clickCallback)}),this._isAppended=!0}_emulateAnimation(e){ga(e,this._getElement(),this._config.isAnimated)}}const rf="focustrap",af="bs.focustrap",Qs=`.${af}`,cf=`focusin${Qs}`,uf=`keydown.tab${Qs}`,df="Tab",ff="forward",ll="backward",pf={autofocus:!0,trapElement:null},_f={autofocus:"boolean",trapElement:"element"};class $a extends us{constructor(e){super(),this._config=this._getConfig(e),this._isActive=!1,this._lastTabNavDirection=null}static get Default(){return pf}static get DefaultType(){return _f}static get NAME(){return rf}activate(){this._isActive||(this._config.autofocus&&this._config.trapElement.focus(),z.off(document,Qs),z.on(document,cf,e=>this._handleFocusin(e)),z.on(document,uf,e=>this._handleKeydown(e)),this._isActive=!0)}deactivate(){!this._isActive||(this._isActive=!1,z.off(document,Qs))}_handleFocusin(e){const{trapElement:t}=this._config;if(e.target===document||e.target===t||t.contains(e.target))return;const s=we.focusableChildren(t);s.length===0?t.focus():this._lastTabNavDirection===ll?s[s.length-1].focus():s[0].focus()}_handleKeydown(e){e.key===df&&(this._lastTabNavDirection=e.shiftKey?ll:ff)}}const hf="modal",mf="bs.modal",Gt=`.${mf}`,gf=".data-api",bf="Escape",vf=`hide${Gt}`,wf=`hidePrevented${Gt}`,Pa=`hidden${Gt}`,Ra=`show${Gt}`,yf=`shown${Gt}`,kf=`resize${Gt}`,Ef=`mousedown.dismiss${Gt}`,Af=`keydown.dismiss${Gt}`,Tf=`click${Gt}${gf}`,rl="modal-open",Cf="fade",al="show",bi="modal-static",Of=".modal.show",Nf=".modal-dialog",Sf=".modal-body",Lf='[data-bs-toggle="modal"]',Df={backdrop:!0,focus:!0,keyboard:!0},If={backdrop:"(boolean|string)",focus:"boolean",keyboard:"boolean"};class wn extends Lt{constructor(e,t){super(e,t),this._dialog=we.findOne(Nf,this._element),this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._isShown=!1,this._isTransitioning=!1,this._scrollBar=new Ii,this._addEventListeners()}static get Default(){return Df}static get DefaultType(){return If}static get NAME(){return hf}toggle(e){return this._isShown?this.hide():this.show(e)}show(e){this._isShown||this._isTransitioning||z.trigger(this._element,Ra,{relatedTarget:e}).defaultPrevented||(this._isShown=!0,this._isTransitioning=!0,this._scrollBar.hide(),document.body.classList.add(rl),this._adjustDialog(),this._backdrop.show(()=>this._showElement(e)))}hide(){!this._isShown||this._isTransitioning||z.trigger(this._element,vf).defaultPrevented||(this._isShown=!1,this._isTransitioning=!0,this._focustrap.deactivate(),this._element.classList.remove(al),this._queueCallback(()=>this._hideModal(),this._element,this._isAnimated()))}dispose(){for(const e of[window,this._dialog])z.off(e,Gt);this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}handleUpdate(){this._adjustDialog()}_initializeBackDrop(){return new Ma({isVisible:Boolean(this._config.backdrop),isAnimated:this._isAnimated()})}_initializeFocusTrap(){return new $a({trapElement:this._element})}_showElement(e){document.body.contains(this._element)||document.body.append(this._element),this._element.style.display="block",this._element.removeAttribute("aria-hidden"),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.scrollTop=0;const t=we.findOne(Sf,this._dialog);t&&(t.scrollTop=0),cs(this._element),this._element.classList.add(al);const s=()=>{this._config.focus&&this._focustrap.activate(),this._isTransitioning=!1,z.trigger(this._element,yf,{relatedTarget:e})};this._queueCallback(s,this._dialog,this._isAnimated())}_addEventListeners(){z.on(this._element,Af,e=>{if(e.key===bf){if(this._config.keyboard){e.preventDefault(),this.hide();return}this._triggerBackdropTransition()}}),z.on(window,kf,()=>{this._isShown&&!this._isTransitioning&&this._adjustDialog()}),z.on(this._element,Ef,e=>{if(e.target===e.currentTarget){if(this._config.backdrop==="static"){this._triggerBackdropTransition();return}this._config.backdrop&&this.hide()}})}_hideModal(){this._element.style.display="none",this._element.setAttribute("aria-hidden",!0),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._isTransitioning=!1,this._backdrop.hide(()=>{document.body.classList.remove(rl),this._resetAdjustments(),this._scrollBar.reset(),z.trigger(this._element,Pa)})}_isAnimated(){return this._element.classList.contains(Cf)}_triggerBackdropTransition(){if(z.trigger(this._element,wf).defaultPrevented)return;const t=this._element.scrollHeight>document.documentElement.clientHeight,s=this._element.style.overflowY;s==="hidden"||this._element.classList.contains(bi)||(t||(this._element.style.overflowY="hidden"),this._element.classList.add(bi),this._queueCallback(()=>{this._element.classList.remove(bi),this._queueCallback(()=>{this._element.style.overflowY=s},this._dialog)},this._dialog),this._element.focus())}_adjustDialog(){const e=this._element.scrollHeight>document.documentElement.clientHeight,t=this._scrollBar.getWidth(),s=t>0;if(s&&!e){const i=At()?"paddingLeft":"paddingRight";this._element.style[i]=`${t}px`}if(!s&&e){const i=At()?"paddingRight":"paddingLeft";this._element.style[i]=`${t}px`}}_resetAdjustments(){this._element.style.paddingLeft="",this._element.style.paddingRight=""}static jQueryInterface(e,t){return this.each(function(){const s=wn.getOrCreateInstance(this,e);if(typeof e=="string"){if(typeof s[e]>"u")throw new TypeError(`No method named "${e}"`);s[e](t)}})}}z.on(document,Tf,Lf,function(n){const e=Zt(this);["A","AREA"].includes(this.tagName)&&n.preventDefault(),z.one(e,Ra,i=>{i.defaultPrevented||z.one(e,Pa,()=>{Un(this)&&this.focus()})});const t=we.findOne(Of);t&&wn.getInstance(t).hide(),wn.getOrCreateInstance(e).toggle(this)});ni(wn);Ct(wn);const Mf="offcanvas",$f="bs.offcanvas",nn=`.${$f}`,ja=".data-api",Pf=`load${nn}${ja}`,Rf="Escape",cl="show",ul="showing",dl="hiding",jf="offcanvas-backdrop",Ha=".offcanvas.show",Hf=`show${nn}`,Vf=`shown${nn}`,Bf=`hide${nn}`,fl=`hidePrevented${nn}`,Va=`hidden${nn}`,Wf=`resize${nn}`,Ff=`click${nn}${ja}`,zf=`keydown.dismiss${nn}`,Gf='[data-bs-toggle="offcanvas"]',Kf={backdrop:!0,keyboard:!0,scroll:!1},Yf={backdrop:"(boolean|string)",keyboard:"boolean",scroll:"boolean"};class cn extends Lt{constructor(e,t){super(e,t),this._isShown=!1,this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._addEventListeners()}static get Default(){return Kf}static get DefaultType(){return Yf}static get NAME(){return Mf}toggle(e){return this._isShown?this.hide():this.show(e)}show(e){if(this._isShown||z.trigger(this._element,Hf,{relatedTarget:e}).defaultPrevented)return;this._isShown=!0,this._backdrop.show(),this._config.scroll||new Ii().hide(),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.classList.add(ul);const s=()=>{(!this._config.scroll||this._config.backdrop)&&this._focustrap.activate(),this._element.classList.add(cl),this._element.classList.remove(ul),z.trigger(this._element,Vf,{relatedTarget:e})};this._queueCallback(s,this._element,!0)}hide(){if(!this._isShown||z.trigger(this._element,Bf).defaultPrevented)return;this._focustrap.deactivate(),this._element.blur(),this._isShown=!1,this._element.classList.add(dl),this._backdrop.hide();const t=()=>{this._element.classList.remove(cl,dl),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._config.scroll||new Ii().reset(),z.trigger(this._element,Va)};this._queueCallback(t,this._element,!0)}dispose(){this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}_initializeBackDrop(){const e=()=>{if(this._config.backdrop==="static"){z.trigger(this._element,fl);return}this.hide()},t=Boolean(this._config.backdrop);return new Ma({className:jf,isVisible:t,isAnimated:!0,rootElement:this._element.parentNode,clickCallback:t?e:null})}_initializeFocusTrap(){return new $a({trapElement:this._element})}_addEventListeners(){z.on(this._element,zf,e=>{if(e.key===Rf){if(!this._config.keyboard){z.trigger(this._element,fl);return}this.hide()}})}static jQueryInterface(e){return this.each(function(){const t=cn.getOrCreateInstance(this,e);if(typeof e=="string"){if(t[e]===void 0||e.startsWith("_")||e==="constructor")throw new TypeError(`No method named "${e}"`);t[e](this)}})}}z.on(document,Ff,Gf,function(n){const e=Zt(this);if(["A","AREA"].includes(this.tagName)&&n.preventDefault(),an(this))return;z.one(e,Va,()=>{Un(this)&&this.focus()});const t=we.findOne(Ha);t&&t!==e&&cn.getInstance(t).hide(),cn.getOrCreateInstance(e).toggle(this)});z.on(window,Pf,()=>{for(const n of we.find(Ha))cn.getOrCreateInstance(n).show()});z.on(window,Wf,()=>{for(const n of we.find("[aria-modal][class*=show][class*=offcanvas-]"))getComputedStyle(n).position!=="fixed"&&cn.getOrCreateInstance(n).hide()});ni(cn);Ct(cn);const qf=new Set(["background","cite","href","itemtype","longdesc","poster","src","xlink:href"]),Uf=/^aria-[\w-]*$/i,Qf=/^(?:(?:https?|mailto|ftp|tel|file|sms):|[^#&/:?]*(?:[#/?]|$))/i,Xf=/^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[\d+/a-z]+=*$/i,Jf=(n,e)=>{const t=n.nodeName.toLowerCase();return e.includes(t)?qf.has(t)?Boolean(Qf.test(n.nodeValue)||Xf.test(n.nodeValue)):!0:e.filter(s=>s instanceof RegExp).some(s=>s.test(t))},Ba={"*":["class","dir","id","lang","role",Uf],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:[]};function Zf(n,e,t){if(!n.length)return n;if(t&&typeof t=="function")return t(n);const i=new window.DOMParser().parseFromString(n,"text/html"),l=[].concat(...i.body.querySelectorAll("*"));for(const o of l){const f=o.nodeName.toLowerCase();if(!Object.keys(e).includes(f)){o.remove();continue}const d=[].concat(...o.attributes),p=[].concat(e["*"]||[],e[f]||[]);for(const u of d)Jf(u,p)||o.removeAttribute(u.nodeName)}return i.body.innerHTML}const xf="TemplateFactory",ep={allowList:Ba,content:{},extraClass:"",html:!1,sanitize:!0,sanitizeFn:null,template:"
"},tp={allowList:"object",content:"object",extraClass:"(string|function)",html:"boolean",sanitize:"boolean",sanitizeFn:"(null|function)",template:"string"},np={entry:"(string|element|function|null)",selector:"(string|element)"};class sp extends us{constructor(e){super(),this._config=this._getConfig(e)}static get Default(){return ep}static get DefaultType(){return tp}static get NAME(){return xf}getContent(){return Object.values(this._config.content).map(e=>this._resolvePossibleFunction(e)).filter(Boolean)}hasContent(){return this.getContent().length>0}changeContent(e){return this._checkContent(e),this._config.content={...this._config.content,...e},this}toHtml(){const e=document.createElement("div");e.innerHTML=this._maybeSanitize(this._config.template);for(const[i,l]of Object.entries(this._config.content))this._setContent(e,l,i);const t=e.children[0],s=this._resolvePossibleFunction(this._config.extraClass);return s&&t.classList.add(...s.split(" ")),t}_typeCheckConfig(e){super._typeCheckConfig(e),this._checkContent(e.content)}_checkContent(e){for(const[t,s]of Object.entries(e))super._typeCheckConfig({selector:t,entry:s},np)}_setContent(e,t,s){const i=we.findOne(s,e);if(!!i){if(t=this._resolvePossibleFunction(t),!t){i.remove();return}if(xt(t)){this._putElementInTemplate(rn(t),i);return}if(this._config.html){i.innerHTML=this._maybeSanitize(t);return}i.textContent=t}}_maybeSanitize(e){return this._config.sanitize?Zf(e,this._config.allowList,this._config.sanitizeFn):e}_resolvePossibleFunction(e){return typeof e=="function"?e(this):e}_putElementInTemplate(e,t){if(this._config.html){t.innerHTML="",t.append(e);return}t.textContent=e.textContent}}const ip="tooltip",op=new Set(["sanitize","allowList","sanitizeFn"]),vi="fade",lp="modal",Ms="show",rp=".tooltip-inner",pl=`.${lp}`,_l="hide.bs.modal",Zn="hover",wi="focus",ap="click",cp="manual",up="hide",dp="hidden",fp="show",pp="shown",_p="inserted",hp="click",mp="focusin",gp="focusout",bp="mouseenter",vp="mouseleave",wp={AUTO:"auto",TOP:"top",RIGHT:At()?"left":"right",BOTTOM:"bottom",LEFT:At()?"right":"left"},yp={allowList:Ba,animation:!0,boundary:"clippingParents",container:!1,customClass:"",delay:0,fallbackPlacements:["top","right","bottom","left"],html:!1,offset:[0,0],placement:"top",popperConfig:null,sanitize:!0,sanitizeFn:null,selector:!1,template:'',title:"",trigger:"hover focus"},kp={allowList:"object",animation:"boolean",boundary:"(string|element)",container:"(string|element|boolean)",customClass:"(string|function)",delay:"(number|object)",fallbackPlacements:"array",html:"boolean",offset:"(array|string|function)",placement:"(string|function)",popperConfig:"(null|object|function)",sanitize:"boolean",sanitizeFn:"(null|function)",selector:"(string|boolean)",template:"string",title:"(string|element|function)",trigger:"string"};class kn extends Lt{constructor(e,t){if(typeof da>"u")throw new TypeError("Bootstrap's tooltips require Popper (https://popper.js.org)");super(e,t),this._isEnabled=!0,this._timeout=0,this._isHovered=!1,this._activeTrigger={},this._popper=null,this._templateFactory=null,this._newContent=null,this.tip=null,this._setListeners()}static get Default(){return yp}static get DefaultType(){return kp}static get NAME(){return ip}enable(){this._isEnabled=!0}disable(){this._isEnabled=!1}toggleEnabled(){this._isEnabled=!this._isEnabled}toggle(e){if(!!this._isEnabled){if(e){const t=this._initializeOnDelegatedTarget(e);t._activeTrigger.click=!t._activeTrigger.click,t._isWithActiveTrigger()?t._enter():t._leave();return}if(this._isShown()){this._leave();return}this._enter()}}dispose(){clearTimeout(this._timeout),z.off(this._element.closest(pl),_l,this._hideModalHandler),this.tip&&this.tip.remove(),this._disposePopper(),super.dispose()}show(){if(this._element.style.display==="none")throw new Error("Please use show on visible elements");if(!(this._isWithContent()&&this._isEnabled))return;const e=z.trigger(this._element,this.constructor.eventName(fp)),s=(ha(this._element)||this._element.ownerDocument.documentElement).contains(this._element);if(e.defaultPrevented||!s)return;this.tip&&(this.tip.remove(),this.tip=null);const i=this._getTipElement();this._element.setAttribute("aria-describedby",i.getAttribute("id"));const{container:l}=this._config;if(this._element.ownerDocument.documentElement.contains(this.tip)||(l.append(i),z.trigger(this._element,this.constructor.eventName(_p))),this._popper?this._popper.update():this._popper=this._createPopper(i),i.classList.add(Ms),"ontouchstart"in document.documentElement)for(const f of[].concat(...document.body.children))z.on(f,"mouseover",qs);const o=()=>{const f=this._isHovered;this._isHovered=!1,z.trigger(this._element,this.constructor.eventName(pp)),f&&this._leave()};this._queueCallback(o,this.tip,this._isAnimated())}hide(){if(!this._isShown()||z.trigger(this._element,this.constructor.eventName(up)).defaultPrevented)return;const t=this._getTipElement();if(t.classList.remove(Ms),"ontouchstart"in document.documentElement)for(const i of[].concat(...document.body.children))z.off(i,"mouseover",qs);this._activeTrigger[ap]=!1,this._activeTrigger[wi]=!1,this._activeTrigger[Zn]=!1,this._isHovered=!1;const s=()=>{this._isWithActiveTrigger()||(this._isHovered||t.remove(),this._element.removeAttribute("aria-describedby"),z.trigger(this._element,this.constructor.eventName(dp)),this._disposePopper())};this._queueCallback(s,this.tip,this._isAnimated())}update(){this._popper&&this._popper.update()}_isWithContent(){return Boolean(this._getTitle())}_getTipElement(){return this.tip||(this.tip=this._createTipElement(this._newContent||this._getContentForTemplate())),this.tip}_createTipElement(e){const t=this._getTemplateFactory(e).toHtml();if(!t)return null;t.classList.remove(vi,Ms),t.classList.add(`bs-${this.constructor.NAME}-auto`);const s=ru(this.constructor.NAME).toString();return t.setAttribute("id",s),this._isAnimated()&&t.classList.add(vi),t}setContent(e){this._newContent=e,this._isShown()&&(this._disposePopper(),this.show())}_getTemplateFactory(e){return this._templateFactory?this._templateFactory.changeContent(e):this._templateFactory=new sp({...this._config,content:e,extraClass:this._resolvePossibleFunction(this._config.customClass)}),this._templateFactory}_getContentForTemplate(){return{[rp]:this._getTitle()}}_getTitle(){return this._resolvePossibleFunction(this._config.title)||this._config.originalTitle}_initializeOnDelegatedTarget(e){return this.constructor.getOrCreateInstance(e.delegateTarget,this._getDelegateConfig())}_isAnimated(){return this._config.animation||this.tip&&this.tip.classList.contains(vi)}_isShown(){return this.tip&&this.tip.classList.contains(Ms)}_createPopper(e){const t=typeof this._config.placement=="function"?this._config.placement.call(this,e,this._element):this._config.placement,s=wp[t.toUpperCase()];return to(this._element,e,this._getPopperConfig(s))}_getOffset(){const{offset:e}=this._config;return typeof e=="string"?e.split(",").map(t=>Number.parseInt(t,10)):typeof e=="function"?t=>e(t,this._element):e}_resolvePossibleFunction(e){return typeof e=="function"?e.call(this._element):e}_getPopperConfig(e){const t={placement:e,modifiers:[{name:"flip",options:{fallbackPlacements:this._config.fallbackPlacements}},{name:"offset",options:{offset:this._getOffset()}},{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"arrow",options:{element:`.${this.constructor.NAME}-arrow`}},{name:"preSetPlacement",enabled:!0,phase:"beforeMain",fn:s=>{this._getTipElement().setAttribute("data-popper-placement",s.state.placement)}}]};return{...t,...typeof this._config.popperConfig=="function"?this._config.popperConfig(t):this._config.popperConfig}}_setListeners(){const e=this._config.trigger.split(" ");for(const t of e)if(t==="click")z.on(this._element,this.constructor.eventName(hp),this._config.selector,s=>this.toggle(s));else if(t!==cp){const s=t===Zn?this.constructor.eventName(bp):this.constructor.eventName(mp),i=t===Zn?this.constructor.eventName(vp):this.constructor.eventName(gp);z.on(this._element,s,this._config.selector,l=>{const o=this._initializeOnDelegatedTarget(l);o._activeTrigger[l.type==="focusin"?wi:Zn]=!0,o._enter()}),z.on(this._element,i,this._config.selector,l=>{const o=this._initializeOnDelegatedTarget(l);o._activeTrigger[l.type==="focusout"?wi:Zn]=o._element.contains(l.relatedTarget),o._leave()})}this._hideModalHandler=()=>{this._element&&this.hide()},z.on(this._element.closest(pl),_l,this._hideModalHandler),this._config.selector?this._config={...this._config,trigger:"manual",selector:""}:this._fixTitle()}_fixTitle(){const e=this._config.originalTitle;!e||(!this._element.getAttribute("aria-label")&&!this._element.textContent.trim()&&this._element.setAttribute("aria-label",e),this._element.removeAttribute("title"))}_enter(){if(this._isShown()||this._isHovered){this._isHovered=!0;return}this._isHovered=!0,this._setTimeout(()=>{this._isHovered&&this.show()},this._config.delay.show)}_leave(){this._isWithActiveTrigger()||(this._isHovered=!1,this._setTimeout(()=>{this._isHovered||this.hide()},this._config.delay.hide))}_setTimeout(e,t){clearTimeout(this._timeout),this._timeout=setTimeout(e,t)}_isWithActiveTrigger(){return Object.values(this._activeTrigger).includes(!0)}_getConfig(e){const t=en.getDataAttributes(this._element);for(const s of Object.keys(t))op.has(s)&&delete t[s];return e={...t,...typeof e=="object"&&e?e:{}},e=this._mergeConfigObj(e),e=this._configAfterMerge(e),this._typeCheckConfig(e),e}_configAfterMerge(e){return e.container=e.container===!1?document.body:rn(e.container),typeof e.delay=="number"&&(e.delay={show:e.delay,hide:e.delay}),e.originalTitle=this._element.getAttribute("title")||"",typeof e.title=="number"&&(e.title=e.title.toString()),typeof e.content=="number"&&(e.content=e.content.toString()),e}_getDelegateConfig(){const e={};for(const t in this._config)this.constructor.Default[t]!==this._config[t]&&(e[t]=this._config[t]);return e}_disposePopper(){this._popper&&(this._popper.destroy(),this._popper=null)}static jQueryInterface(e){return this.each(function(){const t=kn.getOrCreateInstance(this,e);if(typeof e=="string"){if(typeof t[e]>"u")throw new TypeError(`No method named "${e}"`);t[e]()}})}}Ct(kn);const Ep="popover",Ap=".popover-header",Tp=".popover-body",Cp={...kn.Default,content:"",offset:[0,8],placement:"right",template:'',trigger:"click"},Op={...kn.DefaultType,content:"(null|string|element|function)"};class oo extends kn{static get Default(){return Cp}static get DefaultType(){return Op}static get NAME(){return Ep}_isWithContent(){return this._getTitle()||this._getContent()}_getContentForTemplate(){return{[Ap]:this._getTitle(),[Tp]:this._getContent()}}_getContent(){return this._resolvePossibleFunction(this._config.content)}static jQueryInterface(e){return this.each(function(){const t=oo.getOrCreateInstance(this,e);if(typeof e=="string"){if(typeof t[e]>"u")throw new TypeError(`No method named "${e}"`);t[e]()}})}}Ct(oo);const Np="scrollspy",Sp="bs.scrollspy",lo=`.${Sp}`,Lp=".data-api",Dp=`activate${lo}`,hl=`click${lo}`,Ip=`load${lo}${Lp}`,Mp="dropdown-item",Mn="active",$p='[data-bs-spy="scroll"]',yi="[href]",Pp=".nav, .list-group",ml=".nav-link",Rp=".nav-item",jp=".list-group-item",Hp=`${ml}, ${Rp} > ${ml}, ${jp}`,Vp=".dropdown",Bp=".dropdown-toggle",Wp={offset:null,rootMargin:"0px 0px -25%",smoothScroll:!1,target:null},Fp={offset:"(number|null)",rootMargin:"string",smoothScroll:"boolean",target:"element"};class li extends Lt{constructor(e,t){super(e,t),this._targetLinks=new Map,this._observableSections=new Map,this._rootElement=getComputedStyle(this._element).overflowY==="visible"?null:this._element,this._activeTarget=null,this._observer=null,this._previousScrollData={visibleEntryTop:0,parentScrollTop:0},this.refresh()}static get Default(){return Wp}static get DefaultType(){return Fp}static get NAME(){return Np}refresh(){this._initializeTargetsAndObservables(),this._maybeEnableSmoothScroll(),this._observer?this._observer.disconnect():this._observer=this._getNewObserver();for(const e of this._observableSections.values())this._observer.observe(e)}dispose(){this._observer.disconnect(),super.dispose()}_configAfterMerge(e){return e.target=rn(e.target)||document.body,e}_maybeEnableSmoothScroll(){!this._config.smoothScroll||(z.off(this._config.target,hl),z.on(this._config.target,hl,yi,e=>{const t=this._observableSections.get(e.target.hash);if(t){e.preventDefault();const s=this._rootElement||window,i=t.offsetTop-this._element.offsetTop;if(s.scrollTo){s.scrollTo({top:i,behavior:"smooth"});return}s.scrollTop=i}}))}_getNewObserver(){const e={root:this._rootElement,threshold:[.1,.5,1],rootMargin:this._getRootMargin()};return new IntersectionObserver(t=>this._observerCallback(t),e)}_observerCallback(e){const t=o=>this._targetLinks.get(`#${o.target.id}`),s=o=>{this._previousScrollData.visibleEntryTop=o.target.offsetTop,this._process(t(o))},i=(this._rootElement||document.documentElement).scrollTop,l=i>=this._previousScrollData.parentScrollTop;this._previousScrollData.parentScrollTop=i;for(const o of e){if(!o.isIntersecting){this._activeTarget=null,this._clearActiveClass(t(o));continue}const f=o.target.offsetTop>=this._previousScrollData.visibleEntryTop;if(l&&f){if(s(o),!i)return;continue}!l&&!f&&s(o)}}_getRootMargin(){return this._config.offset?`${this._config.offset}px 0px -30%`:this._config.rootMargin}_initializeTargetsAndObservables(){this._targetLinks=new Map,this._observableSections=new Map;const e=we.find(yi,this._config.target);for(const t of e){if(!t.hash||an(t))continue;const s=we.findOne(t.hash,this._element);Un(s)&&(this._targetLinks.set(t.hash,t),this._observableSections.set(t.hash,s))}}_process(e){this._activeTarget!==e&&(this._clearActiveClass(this._config.target),this._activeTarget=e,e.classList.add(Mn),this._activateParents(e),z.trigger(this._element,Dp,{relatedTarget:e}))}_activateParents(e){if(e.classList.contains(Mp)){we.findOne(Bp,e.closest(Vp)).classList.add(Mn);return}for(const t of we.parents(e,Pp))for(const s of we.prev(t,Hp))s.classList.add(Mn)}_clearActiveClass(e){e.classList.remove(Mn);const t=we.find(`${yi}.${Mn}`,e);for(const s of t)s.classList.remove(Mn)}static jQueryInterface(e){return this.each(function(){const t=li.getOrCreateInstance(this,e);if(typeof e=="string"){if(t[e]===void 0||e.startsWith("_")||e==="constructor")throw new TypeError(`No method named "${e}"`);t[e]()}})}}z.on(window,Ip,()=>{for(const n of we.find($p))li.getOrCreateInstance(n)});Ct(li);const zp="tab",Gp="bs.tab",En=`.${Gp}`,Kp=`hide${En}`,Yp=`hidden${En}`,qp=`show${En}`,Up=`shown${En}`,Qp=`click${En}`,Xp=`keydown${En}`,Jp=`load${En}`,Zp="ArrowLeft",gl="ArrowRight",xp="ArrowUp",bl="ArrowDown",on="active",vl="fade",ki="show",e_="dropdown",t_=".dropdown-toggle",n_=".dropdown-menu",s_=".dropdown-item",Ei=":not(.dropdown-toggle)",i_='.list-group, .nav, [role="tablist"]',o_=".nav-item, .list-group-item",l_=`.nav-link${Ei}, .list-group-item${Ei}, [role="tab"]${Ei}`,Wa='[data-bs-toggle="tab"], [data-bs-toggle="pill"], [data-bs-toggle="list"]',Ai=`${l_}, ${Wa}`,r_=`.${on}[data-bs-toggle="tab"], .${on}[data-bs-toggle="pill"], .${on}[data-bs-toggle="list"]`;class Gn extends Lt{constructor(e){super(e),this._parent=this._element.closest(i_),this._parent&&(this._setInitialAttributes(this._parent,this._getChildren()),z.on(this._element,Xp,t=>this._keydown(t)))}static get NAME(){return zp}show(){const e=this._element;if(this._elemIsActive(e))return;const t=this._getActiveElem(),s=t?z.trigger(t,Kp,{relatedTarget:e}):null;z.trigger(e,qp,{relatedTarget:t}).defaultPrevented||s&&s.defaultPrevented||(this._deactivate(t,e),this._activate(e,t))}_activate(e,t){if(!e)return;e.classList.add(on),this._activate(Zt(e));const s=()=>{if(e.getAttribute("role")!=="tab"){e.classList.add(ki);return}e.focus(),e.removeAttribute("tabindex"),e.setAttribute("aria-selected",!0),this._toggleDropDown(e,!0),z.trigger(e,Up,{relatedTarget:t})};this._queueCallback(s,e,e.classList.contains(vl))}_deactivate(e,t){if(!e)return;e.classList.remove(on),e.blur(),this._deactivate(Zt(e));const s=()=>{if(e.getAttribute("role")!=="tab"){e.classList.remove(ki);return}e.setAttribute("aria-selected",!1),e.setAttribute("tabindex","-1"),this._toggleDropDown(e,!1),z.trigger(e,Yp,{relatedTarget:t})};this._queueCallback(s,e,e.classList.contains(vl))}_keydown(e){if(![Zp,gl,xp,bl].includes(e.key))return;e.stopPropagation(),e.preventDefault();const t=[gl,bl].includes(e.key),s=no(this._getChildren().filter(i=>!an(i)),e.target,t,!0);s&&Gn.getOrCreateInstance(s).show()}_getChildren(){return we.find(Ai,this._parent)}_getActiveElem(){return this._getChildren().find(e=>this._elemIsActive(e))||null}_setInitialAttributes(e,t){this._setAttributeIfNotExists(e,"role","tablist");for(const s of t)this._setInitialAttributesOnChild(s)}_setInitialAttributesOnChild(e){e=this._getInnerElement(e);const t=this._elemIsActive(e),s=this._getOuterElement(e);e.setAttribute("aria-selected",t),s!==e&&this._setAttributeIfNotExists(s,"role","presentation"),t||e.setAttribute("tabindex","-1"),this._setAttributeIfNotExists(e,"role","tab"),this._setInitialAttributesOnTargetPanel(e)}_setInitialAttributesOnTargetPanel(e){const t=Zt(e);!t||(this._setAttributeIfNotExists(t,"role","tabpanel"),e.id&&this._setAttributeIfNotExists(t,"aria-labelledby",`#${e.id}`))}_toggleDropDown(e,t){const s=this._getOuterElement(e);if(!s.classList.contains(e_))return;const i=(l,o)=>{const f=we.findOne(l,s);f&&f.classList.toggle(o,t)};i(t_,on),i(n_,ki),i(s_,on),s.setAttribute("aria-expanded",t)}_setAttributeIfNotExists(e,t,s){e.hasAttribute(t)||e.setAttribute(t,s)}_elemIsActive(e){return e.classList.contains(on)}_getInnerElement(e){return e.matches(Ai)?e:we.findOne(Ai,e)}_getOuterElement(e){return e.closest(o_)||e}static jQueryInterface(e){return this.each(function(){const t=Gn.getOrCreateInstance(this);if(typeof e=="string"){if(t[e]===void 0||e.startsWith("_")||e==="constructor")throw new TypeError(`No method named "${e}"`);t[e]()}})}}z.on(document,Qp,Wa,function(n){["A","AREA"].includes(this.tagName)&&n.preventDefault(),!an(this)&&Gn.getOrCreateInstance(this).show()});z.on(window,Jp,()=>{for(const n of we.find(r_))Gn.getOrCreateInstance(n)});Ct(Gn);const a_="toast",c_="bs.toast",fn=`.${c_}`,u_=`mouseover${fn}`,d_=`mouseout${fn}`,f_=`focusin${fn}`,p_=`focusout${fn}`,__=`hide${fn}`,h_=`hidden${fn}`,m_=`show${fn}`,g_=`shown${fn}`,b_="fade",wl="hide",$s="show",Ps="showing",v_={animation:"boolean",autohide:"boolean",delay:"number"},w_={animation:!0,autohide:!0,delay:5e3};class ri extends Lt{constructor(e,t){super(e,t),this._timeout=null,this._hasMouseInteraction=!1,this._hasKeyboardInteraction=!1,this._setListeners()}static get Default(){return w_}static get DefaultType(){return v_}static get NAME(){return a_}show(){if(z.trigger(this._element,m_).defaultPrevented)return;this._clearTimeout(),this._config.animation&&this._element.classList.add(b_);const t=()=>{this._element.classList.remove(Ps),z.trigger(this._element,g_),this._maybeScheduleHide()};this._element.classList.remove(wl),cs(this._element),this._element.classList.add($s,Ps),this._queueCallback(t,this._element,this._config.animation)}hide(){if(!this.isShown()||z.trigger(this._element,__).defaultPrevented)return;const t=()=>{this._element.classList.add(wl),this._element.classList.remove(Ps,$s),z.trigger(this._element,h_)};this._element.classList.add(Ps),this._queueCallback(t,this._element,this._config.animation)}dispose(){this._clearTimeout(),this.isShown()&&this._element.classList.remove($s),super.dispose()}isShown(){return this._element.classList.contains($s)}_maybeScheduleHide(){!this._config.autohide||this._hasMouseInteraction||this._hasKeyboardInteraction||(this._timeout=setTimeout(()=>{this.hide()},this._config.delay))}_onInteraction(e,t){switch(e.type){case"mouseover":case"mouseout":this._hasMouseInteraction=t;break;case"focusin":case"focusout":this._hasKeyboardInteraction=t;break}if(t){this._clearTimeout();return}const s=e.relatedTarget;this._element===s||this._element.contains(s)||this._maybeScheduleHide()}_setListeners(){z.on(this._element,u_,e=>this._onInteraction(e,!0)),z.on(this._element,d_,e=>this._onInteraction(e,!1)),z.on(this._element,f_,e=>this._onInteraction(e,!0)),z.on(this._element,p_,e=>this._onInteraction(e,!1))}_clearTimeout(){clearTimeout(this._timeout),this._timeout=null}static jQueryInterface(e){return this.each(function(){const t=ri.getOrCreateInstance(this,e);if(typeof e=="string"){if(typeof t[e]>"u")throw new TypeError(`No method named "${e}"`);t[e](this)}})}}ni(ri);Ct(ri);let rs=St([]),H=St({name:"",locationGroup:"",jobs:[],identifier:[],ace:[],discord:[],locked:!0,lockpick:!1,garage:!1,passcode:"",sound:"",door_data:[],locationGroups:[],secret:!1,camera:!1,distance:2,auto_lock:null,items:[]});function y_(n){let e,t,s,i,l,o=window.locales.delete.notification+"",f,d,p,u,c,m,h,g,A,y,E,C=window.locales.delete.irreversible+"",N,b,v,w,S,M,G,U,K,J;return{c(){e=_("div"),t=_("div"),s=_("div"),i=_("div"),l=_("h6"),f=V(o),d=k(),p=_("strong"),u=V("'"),c=V(n[0]),m=V("'"),h=k(),g=_("div"),A=_("div"),y=_("i"),E=k(),N=V(C),b=k(),v=_("p"),v.textContent=`${window.locales.delete.are_you_sure} ${n[1]=="door"?window.locales.delete.type[0]:window.locales.delete.type[1]}?`,w=k(),S=_("div"),M=_("button"),M.textContent=`${window.locales.delete.yes}`,G=k(),U=_("button"),U.textContent=`${window.locales.delete.no}`,a(l,"class","modal-title"),a(i,"class","modal-header"),a(y,"class","bi bi-exclamation-triangle"),a(A,"class","alert alert-warning w-100"),a(g,"class","modal-body text-dark"),a(M,"type","button"),a(M,"class","btn btn-danger text-light"),a(U,"type","button"),a(U,"class","btn btn-secondary"),a(S,"class","modal-footer"),a(s,"class","modal-content shadow-sm text-dark"),a(t,"class","modal-dialog modal-dialog-centered"),a(e,"class","modal"),a(e,"tabindex","-1"),a(e,"data-bs-backdrop","static"),a(e,"data-bs-keyboard","false")},m(q,ne){D(q,e,ne),r(e,t),r(t,s),r(s,i),r(i,l),r(l,f),r(l,d),r(l,p),r(p,u),r(p,c),r(p,m),r(s,h),r(s,g),r(g,A),r(A,y),r(A,E),r(A,N),r(g,b),r(g,v),r(s,w),r(s,S),r(S,M),r(S,G),r(S,U),K||(J=[P(M,"click",Se(n[2])),P(U,"click",Se(n[3]))],K=!0)},p(q,[ne]){ne&1&&fe(c,q[0])},i:ue,o:ue,d(q){q&&L(e),K=!1,Ee(J)}}}function k_(n,e,t){let s,i,l,o,f;be(n,j,h=>t(5,s=h)),be(n,ye,h=>t(6,i=h)),be(n,Me,h=>t(7,l=h)),be(n,H,h=>t(8,o=h)),be(n,rs,h=>t(9,f=h));let{name:d}=e,p=s.delete.type;function u(){p=="door"?He.send("deletedoor",l[s.delete.door]):He.send("delete_location_group",{location_group:l[s.delete.door].location_group}),i.push({message:`${window.locales.delete.alerts.success} ${p}.`,type:"alert-success"});let h=l[s.delete.door].location_group;if(p=="group"){for(let g=l.length-1;g>=0;g--)h==l[g].location_group&&l.splice(g,1);for(let g=0;g{c=new wn(document.getElementsByClassName("modal")[0],{}),c.show()}),Vi(()=>{c.dispose()});function m(h){xn.call(this,n,h)}return n.$$set=h=>{"name"in h&&t(0,d=h.name)},[d,p,u,m]}class Fa extends bt{constructor(e){super(),gt(this,e,k_,y_,rt,{name:0})}}function yl(n,e,t){const s=n.slice();return s[44]=e[t],s[46]=t,s}function kl(n,e,t){const s=n.slice();return s[47]=e[t],s[46]=t,s}function El(n,e,t){const s=n.slice();return s[47]=e[t],s[46]=t,s}function Al(n){let e,t;return e=new Fa({props:{name:n[9].delete.name}}),e.$on("click",n[18]),{c(){_t(e.$$.fragment)},m(s,i){ot(e,s,i),t=!0},p(s,i){const l={};i[0]&512&&(l.name=s[9].delete.name),e.$set(l)},i(s){t||(ce(e.$$.fragment,s),t=!0)},o(s){ge(e.$$.fragment,s),t=!1},d(s){lt(e,s)}}}function Tl(n){let e,t,s;return{c(){e=_("th"),e.textContent=`${window.locales.control.delete}`,t=k(),s=_("th"),s.textContent=`${window.locales.control.delete_group}`,a(e,"scope","col"),a(s,"scope","col")},m(i,l){D(i,e,l),D(i,t,l),D(i,s,l)},p:ue,d(i){i&&L(e),i&&L(t),i&&L(s)}}}function E_(n){let e,t=[],s=new Map,i=n[0];const l=o=>o[46];for(let o=0;oo[46];for(let o=0;o',y=k(),E=_("td"),E.innerHTML='',C=k(),q.c(),N=k(),b=_("td"),b.innerHTML='',v=k(),O&&O.c(),w=k(),a(t,"scope","row"),a(A,"class","text-center"),a(E,"class","text-center"),a(b,"class","text-center")},m(X,I){D(X,e,I),r(e,t),r(t,s),r(s,l),r(e,o),r(e,f),r(f,p),r(e,u),r(e,c),r(c,h),r(e,g),r(e,A),r(e,y),r(e,E),r(e,C),q.m(e,null),r(e,N),r(e,b),r(e,v),O&&O.m(e,null),r(e,w),S||(M=[P(A,"click",G),P(E,"click",U),P(b,"click",ne)],S=!0)},p(X,I){n=X,I[0]&1&&i!==(i=n[46]+1+"")&&fe(l,i),I[0]&1&&d!==(d=n[47].location_group+"")&&fe(p,d),I[0]&1&&m!==(m=n[47].door_name+"")&&fe(h,m),J===(J=K(n))&&q?q.p(n,I):(q.d(1),q=J(n),q&&(q.c(),q.m(e,N))),n[5].permissions?O?O.p(n,I):(O=Ol(n),O.c(),O.m(e,w)):O&&(O.d(1),O=null)},d(X){X&&L(e),q.d(),O&&O.d(),S=!1,Ee(M)}}}function T_(n){let e;return{c(){e=_("td"),e.innerHTML='',a(e,"class","text-center")},m(t,s){D(t,e,s)},p:ue,d(t){t&&L(e)}}}function C_(n){let e,t,s;function i(){return n[34](n[47])}return{c(){e=_("td"),e.innerHTML='',a(e,"class","text-center")},m(l,o){D(l,e,o),t||(s=P(e,"click",i),t=!0)},p(l,o){n=l},d(l){l&&L(e),t=!1,s()}}}function Ol(n){let e,t,s,i,l;function o(){return n[36](n[46])}function f(){return n[37](n[46])}return{c(){e=_("td"),e.innerHTML='',t=k(),s=_("td"),s.innerHTML='',a(e,"class","text-center"),a(s,"class","text-center")},m(d,p){D(d,e,p),D(d,t,p),D(d,s,p),i||(l=[P(e,"click",o),P(s,"click",f)],i=!0)},p(d,p){n=d},d(d){d&&L(e),d&&L(t),d&&L(s),i=!1,Ee(l)}}}function Nl(n,e){let t,s,i=e[46]>=e[3]*7&&e[46]=e[3]*7&&e[46]',y=k(),E=_("td"),E.innerHTML='',C=k(),q.c(),N=k(),b=_("td"),b.innerHTML='',v=k(),O&&O.c(),w=k(),a(t,"scope","row"),a(A,"class","text-center"),a(E,"class","text-center"),a(b,"class","text-center")},m(X,I){D(X,e,I),r(e,t),r(t,s),r(s,l),r(e,o),r(e,f),r(f,p),r(e,u),r(e,c),r(c,h),r(e,g),r(e,A),r(e,y),r(e,E),r(e,C),q.m(e,null),r(e,N),r(e,b),r(e,v),O&&O.m(e,null),r(e,w),S||(M=[P(A,"click",G),P(E,"click",U),P(b,"click",ne)],S=!0)},p(X,I){n=X,I[0]&16&&i!==(i=n[46]+1+"")&&fe(l,i),I[0]&16&&d!==(d=n[47].location_group+"")&&fe(p,d),I[0]&16&&m!==(m=n[47].door_name+"")&&fe(h,m),J===(J=K(n))&&q?q.p(n,I):(q.d(1),q=J(n),q&&(q.c(),q.m(e,N))),n[5].permissions?O?O.p(n,I):(O=Ll(n),O.c(),O.m(e,w)):O&&(O.d(1),O=null)},d(X){X&&L(e),q.d(),O&&O.d(),S=!1,Ee(M)}}}function O_(n){let e;return{c(){e=_("td"),e.innerHTML='',a(e,"class","text-center")},m(t,s){D(t,e,s)},p:ue,d(t){t&&L(e)}}}function N_(n){let e,t,s;function i(){return n[28](n[47])}return{c(){e=_("td"),e.innerHTML='',a(e,"class","text-center")},m(l,o){D(l,e,o),t||(s=P(e,"click",i),t=!0)},p(l,o){n=l},d(l){l&&L(e),t=!1,s()}}}function Ll(n){let e,t,s,i,l;function o(){return n[30](n[47])}function f(){return n[31](n[47])}return{c(){e=_("td"),e.innerHTML='',t=k(),s=_("td"),s.innerHTML='',a(e,"class","text-center"),a(s,"class","text-center")},m(d,p){D(d,e,p),D(d,t,p),D(d,s,p),i||(l=[P(e,"click",o),P(s,"click",f)],i=!0)},p(d,p){n=d},d(d){d&&L(e),d&&L(t),d&&L(s),i=!1,Ee(l)}}}function Dl(n,e){let t,s,i=e[46]>=e[3]*7&&e[46]=e[3]*7&&e[46]0?n[4].length:n[6])+"",I,le,se=window.locales.control.found[1]+"",ie,_e,B,Q,Z,de,ke,ae,oe,Ae,Ne,$,Y,R,W,x,Le,Re,et,he,me,Te,F,Oe,Be,at,Ye=[],We=new Map,vt,Ue,Fe,Je,Ze,ze,wt,Pe=n[9].delete.state&&Al(n),De=n[5].permissions&&Tl();function Dt(re,Ie){return re[4].length>0?A_:E_}let xe=Dt(n),Ce=xe(n),Ge=n[1];const ct=re=>re[46];for(let re=0;re',p=k(),u=_("div"),c=_("div"),m=_("input"),h=k(),g=_("label"),g.textContent=`${window.locales.control.search_by_name}`,A=k(),y=_("div"),E=_("input"),C=k(),N=_("label"),N.textContent=`${window.locales.control.search_by_group}`,b=k(),v=_("div"),w=_("hr"),S=k(),M=_("div"),G=_("div"),U=_("div"),K=_("table"),J=_("caption"),ne=V(q),O=k(),I=V(X),le=k(),ie=V(se),_e=k(),B=_("thead"),Q=_("tr"),Z=_("th"),Z.textContent=`${window.locales.control.number}`,de=k(),ke=_("th"),ke.textContent=`${window.locales.control.group}`,ae=k(),oe=_("th"),oe.textContent=`${window.locales.control.name}`,Ae=k(),Ne=_("th"),Ne.textContent=`${window.locales.control.lock}`,$=k(),Y=_("th"),Y.textContent=`${window.locales.control.unlock}`,R=k(),W=_("th"),W.textContent=`${window.locales.control.camera}`,x=k(),Le=_("th"),Le.textContent=`${window.locales.control.visit}`,Re=k(),De&&De.c(),et=k(),Ce.c(),he=k(),me=_("div"),Te=_("nav"),F=_("ul"),Oe=_("li"),Be=_("a"),Be.textContent=`${window.locales.control.previous}`,at=k();for(let re=0;re=n[2]),a(F,"class","pagination pagination pagination-sm rounded mb-0"),a(Te,"class","rounded overflow-hidden"),a(me,"class","col-12 d-flex justify-content-center align-items-center"),a(M,"class","row"),a(e,"class","container")},m(re,Ie){D(re,e,Ie),Pe&&Pe.m(e,null),r(e,t),r(e,s),r(s,i),r(s,l),r(s,o),pe(o,n[8]),r(s,f),r(s,d),r(e,p),r(e,u),r(u,c),r(c,m),m.checked=m.__value===n[7],r(c,h),r(c,g),r(u,A),r(u,y),r(y,E),E.checked=E.__value===n[7],r(y,C),r(y,N),r(e,b),r(e,v),r(v,w),r(v,S),r(v,M),r(M,G),r(G,U),r(U,K),r(K,J),r(J,ne),r(J,O),r(J,I),r(J,le),r(J,ie),r(K,_e),r(K,B),r(B,Q),r(Q,Z),r(Q,de),r(Q,ke),r(Q,ae),r(Q,oe),r(Q,Ae),r(Q,Ne),r(Q,$),r(Q,Y),r(Q,R),r(Q,W),r(Q,x),r(Q,Le),r(Q,Re),De&&De.m(Q,null),r(K,et),Ce.m(K,null),r(M,he),r(M,me),r(me,Te),r(Te,F),r(F,Oe),r(Oe,Be),r(F,at);for(let je=0;je{Pe=null}),pt()),Ie[0]&256&&o.value!==re[8]&&pe(o,re[8]),Ie[0]&128&&(m.checked=m.__value===re[7]),Ie[0]&128&&(E.checked=E.__value===re[7]),(!Ze||Ie[0]&80)&&X!==(X=(re[4].length>0?re[4].length:re[6])+"")&&fe(I,X),re[5].permissions?De?De.p(re,Ie):(De=Tl(),De.c(),De.m(Q,null)):De&&(De.d(1),De=null),xe===(xe=Dt(re))&&Ce?Ce.p(re,Ie):(Ce.d(1),Ce=xe(re),Ce&&(Ce.c(),Ce.m(K,null))),Ie[0]&8&&jt(Oe,"disabled",re[3]-1<0),Ie[0]&10&&(Ge=re[1],Ye=Ve(Ye,Ie,ct,1,re,Ge,We,F,Ke,Il,vt,yl)),Ie[0]&12&&jt(Ue,"disabled",re[3]+1>=re[2])},i(re){Ze||(ce(Pe),it(()=>{Je||(Je=Bt(e,Wt,{duration:100},!0)),Je.run(1)}),Ze=!0)},o(re){ge(Pe),Je||(Je=Bt(e,Wt,{duration:100},!1)),Je.run(0),Ze=!1},d(re){re&&L(e),Pe&&Pe.d(),n[22][0].splice(n[22][0].indexOf(m),1),n[22][0].splice(n[22][0].indexOf(E),1),De&&De.d(),Ce.d();for(let Ie=0;Iet(5,u=$)),be(n,j,$=>t(9,c=$)),be(n,Me,$=>t(19,m=$));let h,g;function A(){clearTimeout(h),h=setTimeout(y,400)}function y(){setTimeout(()=>{if(t(4,i.length=0,i),t(4,i),g=s.toLowerCase().trim(),g==""){t(3,o=0);return}for(let $=0;$W.door_data[0].unique_id===Y.door_data[0].unique_id);T(j,c.delete.state=!0,c),T(j,c.delete.door=R,c),T(j,c.delete.name=Y.door_name,c),T(j,c.delete.type="door",c);return}}function S($,Y){if($!=-1){T(j,c.delete.state=!0,c),T(j,c.delete.door=$,c),T(j,c.delete.name=m[$].door_name,c),T(j,c.delete.type="group",c);return}else{let R=m.findIndex(W=>W.door_data[0].unique_id===Y.door_data[0].unique_id);T(j,c.delete.state=!0,c),T(j,c.delete.door=R,c),T(j,c.delete.name=Y.door_name,c),T(j,c.delete.type="group",c);return}}function M(){T(j,c.delete.state=!1,c),T(j,c.delete.door=-1,c),T(j,c.delete.name="",c),T(j,c.delete.type="door",c)}function G($,Y){if(u.permissions)return!0;if($.perms.job&&$.perms.job.length>0){for(let R of $.perms.job)if(u.job&&R.name==u.job.job&&R.grade<=u.job.grade||u.gang&&R.name==u.gang.gang&&R.grade<=u.gang.grade)return!0}if($.perms.identifier&&$.perms.identifier.length>0){for(let R of $.perms.identifier)for(let W of u.identifier)if(W.trimmed==R.trimmed||W.full==R.full)return!0}if($.perms.ace&&$.perms.ace.length>0){for(let R of $.perms.ace)if(u.ace.includes(R))return!0}if($.perms.discord&&$.perms.discord.length>0){for(let R of $.perms.discord)if(u.discord.includes(R))return!0}return!1}const U=[[]];function K(){s=this.value,t(8,s)}function J(){l=this.__value,t(7,l)}const q=()=>{y()};function ne(){l=this.__value,t(7,l)}const O=()=>{y()},X=$=>{C($)},I=$=>{N($)},le=$=>{b($)},se=$=>{v($)},ie=$=>{w(-1,$)},_e=$=>{S(-1,$)},B=$=>{C($)},Q=$=>{N($)},Z=$=>{b($)},de=$=>{v($)},ke=$=>{w($)},ae=$=>{S($)},oe=()=>{o-1<0||t(3,o-=1)},Ae=$=>{$.number!=-1&&t(3,o=$.index)},Ne=()=>{o+1==d||t(3,o+=1)};return n.$$.update=()=>{if(n.$$.dirty[0]&524351)if(i.length>0)if(t(1,f.length=0,f),t(2,d=Math.ceil(i.length/7)),d>Pt){let $=!1,Y=1,R=Pt;o+3Pt?(f.push({number:1,index:0}),f.push({number:"...",index:-1}),Y=o-Pt+3,$?R=o+2:R=d-1):o+3>Pt&&(R=o+2);for(let W=Y;W<=R;W++)f.push({number:W,index:W-1});$?(f.push({number:"...",index:-1}),f.push({number:d,index:d-1})):f.push({number:d,index:d-1})}else for(let $=1;$<=d;$++)f.push({number:$,index:$-1});else{if(t(1,f.length=0,f),t(0,E.length=0,E),u.permissions){for(let $ of m)E.push($);t(6,p=m.length)}else{for(let $ of m)G($)&&E.push($);t(6,p=E.length)}if(t(2,d=Math.ceil(u.permissions?m.length/7:E.length/7)),d>Pt){let $=!1,Y=1,R=Pt;o+3Pt?(f.push({number:1,index:0}),f.push({number:"...",index:-1}),Y=o-Pt+3,$?R=o+2:R=d-1):o+3>Pt&&(R=o+2);for(let W=Y;W<=R;W++)f.push({number:W,index:W-1});$?(f.push({number:"...",index:-1}),f.push({number:d,index:d-1})):f.push({number:d,index:d-1})}else for(let $=1;$<=d;$++)f.push({number:$,index:$-1})}},t(8,s=""),t(4,i=[]),t(7,l=!0),t(3,o=0),t(1,f=[]),t(2,d=0),t(6,p=0),[E,f,d,o,i,u,p,l,s,c,A,y,C,N,b,v,w,S,M,m,K,J,U,q,ne,O,X,I,le,se,ie,_e,B,Q,Z,de,ke,ae,oe,Ae,Ne]}class D_ extends bt{constructor(e){super(),gt(this,e,L_,S_,rt,{},null,[-1,-1])}}function Mi(){return[...document.querySelectorAll('[data-bs-toggle="tooltip"]')].map(t=>new kn(t,{container:"body",animation:!1}))}function za(){return[...document.querySelectorAll(".dropdown-toggle")].map(t=>new Nt(t))}let I_=(n=21)=>crypto.getRandomValues(new Uint8Array(n)).reduce((e,t)=>(t&=63,t<36?e+=t.toString(36):t<62?e+=(t-26).toString(36).toUpperCase():t>62?e+="-":e+="_",e),"");function ro(){return I_()}class M_{constructor(e,t){Xt(this,"sounds",new Map);Xt(this,"volume");e&&this.batchAdd(e),t?this.volume=t:this.volume=.5}add(e,t){let s=new Audio(t);this.sounds.set(e,s)}remove(e){this.sounds.delete(e)}batchAdd(e){for(let t=0;tconsole.error(s))}else console.error("Sound does not exist.")}async stop(e){this.sounds.get(e).stop()}}let $i=St(["_notification.ogg","_key_press.ogg"]),ps=St(new M_(["_notification.ogg","_key_press.ogg"],.5)),is=St(["Framework","Identifiers","AcePerms","Discord","Items"]);function Ml(n,e,t){const s=n.slice();return s[55]=e[t],s[57]=t,s}function $l(n,e,t){const s=n.slice();return s[66]=e[t],s[57]=t,s}function Pl(n,e,t){const s=n.slice();return s[64]=e[t],s[57]=t,s}function Rl(n,e,t){const s=n.slice();return s[62]=e[t],s[57]=t,s}function jl(n,e,t){const s=n.slice();return s[60]=e[t],s[57]=t,s}function Hl(n,e,t){const s=n.slice();return s[58]=e[t],s[57]=t,s}function Vl(n,e,t){const s=n.slice();return s[68]=e[t],s[57]=t,s}function Bl(n,e,t){const s=n.slice();return s[70]=e[t],s[57]=t,s}function $_(n){let e=[],t=new Map,s,i=n[9].locationGroups;const l=o=>o[70].id;for(let o=0;o',f=k(),a(o,"type","button"),a(o,"class","btn btn-xs btn-danger text-light cursor-pointer"),a(s,"class","dropdown-item d-flex justify-content-between"),a(t,"class","d-flex justify-content-center align-items-center cursor-pointer"),this.first=t},m(m,h){D(m,t,h),r(t,s),r(s,l),r(s,o),r(t,f),d||(p=[P(o,"click",Se(u),{once:!0}),P(t,"click",c)],d=!0)},p(m,h){e=m,h[0]&512&&i!==(i=e[70].name+"")&&fe(l,i)},d(m){m&&L(t),d=!1,Ee(p)}}}function Fl(n,e){let t,s,i=window.locales.permissions[e[68].toLowerCase()]+"",l,o,f,d,p;function u(){return e[30](e[68])}return{key:n,first:null,c(){t=_("li"),s=_("span"),l=V(i),f=k(),a(s,"class",o="nav-link text-light"+(e[0]==e[68]?" active":"")),a(s,"aria-current","page"),a(t,"class","nav-item svelte-1847jqf"),this.first=t},m(c,m){D(c,t,m),r(t,s),r(s,l),r(t,f),d||(p=P(t,"click",u),d=!0)},p(c,m){e=c,m[0]&2&&i!==(i=window.locales.permissions[e[68].toLowerCase()]+"")&&fe(l,i),m[0]&3&&o!==(o="nav-link text-light"+(e[0]==e[68]?" active":""))&&a(s,"class",o)},d(c){c&&L(t),d=!1,p()}}}function R_(n){let e,t=window.locales.create.form.item+"",s,i,l,o,f,d,p,u,c,m,h,g=[],A=new Map,y,E,C=n[9].items;const N=b=>b[57];for(let b=0;bb[57];for(let b=0;bb[57];for(let b=0;bb[57];for(let b=0;bw[57];for(let w=0;w',p=k(),a(f,"class","btn btn-xs btn-outline-secondary"),a(s,"id",d=e[55]+e[57]),a(s,"class","dropdown-item d-flex justify-content-between align-items-center px-1 cursor-pointer svelte-1847jqf"),this.first=t},m(g,A){D(g,t,A),r(t,s),r(s,l),r(s,o),r(s,f),r(t,p),u||(c=[P(f,"click",Se(tc(m))),P(t,"click",h)],u=!0)},p(g,A){e=g,A[0]&1024&&i!==(i=e[55]+"")&&fe(l,i),A[0]&1024&&d!==(d=e[55]+e[57])&&a(s,"id",d)},d(g){g&&L(t),u=!1,Ee(c)}}}function G_(n){let e,t,s,i,l=window.locales.create.form.door_name+"",o,f,d,p,u,c,m,h,g,A=window.locales.create.form.location_group+"",y,E,C,N,b,v,w,S=(n[9].locationGroup==""?window.locales.create.form.helpers.location_group_select:n[9].locationGroup)+"",M,G,U,K,J,q,ne,O,X,I,le,se,ie,_e,B,Q,Z=[],de=new Map,ke,ae,oe,Ae,Ne,$,Y,R=window.locales.create.form.autolock+"",W,x,Le,Re,et,he,me,Te,F,Oe=window.locales.create.form.sound+"",Be,at,Ye,We,vt,Ue,Fe,Je,Ze,ze=[],wt=new Map,Pe,De,Dt,xe,Ce,Ge,ct,re=window.locales.create.form.locked+"",Ie,je,pn,Ot,ut,Kt,Yt,te,$e,Qe,Ka=window.locales.create.form.lockpick+"",ao,co,_s,An,uo,hs,Tn,qt,fo,_n,Ya=window.locales.create.form.secret+"",po,_o,ms,Cn,ho,gs,On,Ut,mo,hn,qa=window.locales.create.form.camera+"",go,bo,bs,Nn,vo,vs,ws,Sn,Qt,Ua=window.locales.create.form.distance+"",wo,yo,ai,ys=n[9].distance+"",ci,ko,ks,Ln,Eo,yt,ui,Ao;function To(ee,ve){return ee[9].locationGroups.length==0?P_:$_}let Es=To(n),It=Es(n),As=n[1];const Co=ee=>ee[57];for(let ee=0;eeee[55];for(let ee=0;ee',X=k(),I=_("li"),I.innerHTML='',le=k(),It.c(),se=k(),ie=_("div"),_e=_("div"),_e.textContent=`${window.locales.create.form.permissions}`,B=k(),Q=_("ul");for(let ee=0;eet(9,c=F)),be(n,ps,F=>t(52,m=F)),be(n,$i,F=>t(10,h=F)),be(n,ye,F=>t(53,g=F)),be(n,Me,F=>t(54,A=F)),be(n,is,F=>t(1,y=F));let E;Yn(async()=>{E=Mi(),za()}),Vi(()=>{for(let F=0;F{He.send("location_groups",{location_groups:c.locationGroups})},200)}}function N(){if(s.length!=0){for(let F=0;F{He.send("location_groups",{location_groups:c.locationGroups})},200)}}function b(F){for(let Oe=0;Oewindow.config.identifier_max_length||f.length==0)&&(g.push({message:window.locales.create.form.alerts.identifier_too_long,type:"alert-danger"}),ye.set(g),m.play("_notification.ogg"),F=!0),!F&&(c.identifier.push(f),H.set(c))}function w(){let F=!1;(l.length>window.config.job_name_max_length||l.length==0)&&(g.push({message:window.locales.create.form.alerts.job_name_too_long,type:"alert-danger"}),ye.set(g),m.play("_notification.ogg"),F=!0),l.match(window.config.job_name_match)&&(g.push({message:window.locales.create.form.alerts.job_name_out_of_scope,type:"alert-danger"}),ye.set(g),m.play("_notification.ogg"),F=!0),Number.isInteger(o)||(g.push({message:window.locales.create.form.alerts.job_grade_nan,type:"alert-danger"}),ye.set(g),m.play("_notification.ogg"),F=!0),(o<0||o>window.config.job_grade_max)&&(g.push({message:window.locales.create.form.alerts.job_grade_too_large,type:"alert-danger"}),ye.set(g),m.play("_notification.ogg"),F=!0),!F&&(c.jobs.push({name:l.toLowerCase(),grade:o}),H.set(c))}function S(){c.ace.push(d),H.set(c)}function M(F){c.ace.splice(F,1),H.set(c)}function G(){c.discord.push(p),H.set(c)}function U(F){c.discord.splice(F,1),H.set(c)}function K(){c.items.push(u),H.set(c)}function J(F){c.items.splice(F,1),H.set(c)}function q(F){T(H,c.sound=h[F],c)}function ne(F){m.play(F)}function O(F){c.jobs.splice(F,1),H.set(c)}function X(F){c.identifier.splice(F,1),H.set(c)}function I(){c.name=this.value,H.set(c)}function le(){s=this.value,t(8,s)}const se=F=>{C(F.id)},ie=F=>{b(F.id)},_e=F=>{t(0,i=F)};function B(){l=this.value,t(6,l)}function Q(){o=ln(this.value),t(5,o)}const Z=F=>{O(F)};function de(){f=this.value,t(7,f)}const ke=F=>{X(F)};function ae(){d=this.value,t(4,d)}const oe=F=>{M(F)};function Ae(){p=this.value,t(3,p)}const Ne=F=>{U(F)};function $(){c.passcode=this.value,H.set(c)}function Y(){u=this.value,t(2,u)}const R=F=>{J(F)};function W(){c.auto_lock=ln(this.value),H.set(c)}const x=F=>{ne(F)},Le=F=>{q(F)};function Re(){c.locked=this.checked,H.set(c)}function et(){c.lockpick=this.checked,H.set(c)}function he(){c.secret=this.checked,H.set(c)}function me(){c.camera=this.checked,H.set(c)}function Te(){c.distance=ln(this.value),H.set(c)}return n.$$.update=()=>{n.$$.dirty[0]&2&&t(0,i=y[0]),n.$$.dirty[0]&1&&i!=""&&setTimeout(()=>{E=Mi()},500)},t(8,s=""),t(6,l=""),t(5,o=0),t(7,f=""),t(4,d=""),t(3,p=""),t(2,u=""),[i,y,u,p,d,o,l,f,s,c,h,C,N,b,v,w,S,M,G,U,K,J,q,ne,O,X,I,le,se,ie,_e,B,Q,Z,de,ke,ae,oe,Ae,Ne,$,Y,R,W,x,Le,Re,et,he,me,Te]}class Y_ extends bt{constructor(e){super(),gt(this,e,K_,G_,rt,{},null,[-1,-1,-1])}}let Xe=St({locationGroup:"",jobs:[],identifier:[],ace:[],discord:[],items:[],locked:!0,lockpick:!1,garage:!1,passcode:"",sound:"",secret:!1,camera:!1,hasData:!1,distance:2,auto_lock:""});function Ql(n,e,t){const s=n.slice();return s[35]=e[t],s[37]=t,s}function Xl(n,e,t){const s=n.slice();return s[40]=e[t],s[37]=t,s}function Jl(n,e,t){const s=n.slice();return s[38]=e[t],s[37]=t,s}function q_(n){let e;return{c(){e=_("div"),e.textContent=`${window.locales.create.state_create}`,a(e,"class","infotext")},m(t,s){D(t,e,s)},p:ue,d(t){t&&L(e)}}}function U_(n){let e,t=window.locales.create.state_editing+"",s,i,l=n[4][n[7].editing.door].door_name+"",o;return{c(){e=_("div"),s=V(t),i=k(),o=V(l),a(e,"class","infotext")},m(f,d){D(f,e,d),r(e,s),r(e,i),r(e,o)},p(f,d){d[0]&144&&l!==(l=f[4][f[7].editing.door].door_name+"")&&fe(o,l)},d(f){f&&L(e)}}}function Zl(n){let e,t,s,i,l,o=window.locales.create.paste+"",f,d,p,u;return{c(){e=_("div"),t=_("div"),s=_("button"),s.textContent=`${window.locales.create.copy}`,i=k(),l=_("button"),f=V(o),a(s,"type","button"),a(s,"class","btn btn-outline-primary btn-xs"),a(l,"type","button"),a(l,"class","btn btn-outline-success btn-xs"),l.disabled=d=!n[6].hasData,a(t,"class","btn-group"),a(t,"role","group"),a(e,"class","copy-paste")},m(c,m){D(c,e,m),r(e,t),r(t,s),r(t,i),r(t,l),r(l,f),p||(u=[P(s,"click",Se(n[16])),P(l,"click",Se(n[17]))],p=!0)},p(c,m){m[0]&64&&d!==(d=!c[6].hasData)&&(l.disabled=d)},d(c){c&&L(e),p=!1,Ee(u)}}}function Q_(n){let e,t;return{c(){e=_("div"),t=_("span"),t.textContent=`${window.locales.create.select_a_door}`,a(t,"class",""),a(e,"class","container text-muted user-select-none w-100 h-100 d-flex justify-content-center align-items-center text-center")},m(s,i){D(s,e,i),r(e,t)},p:ue,i:ue,o:ue,d(s){s&&L(e)}}}function X_(n){let e,t;return e=new Y_({}),{c(){_t(e.$$.fragment)},m(s,i){ot(e,s,i),t=!0},p:ue,i(s){t||(ce(e.$$.fragment,s),t=!0)},o(s){ge(e.$$.fragment,s),t=!1},d(s){lt(e,s)}}}function xl(n){let e,t=(n[7].editing.state?window.locales.create.button_update:window.locales.create.button_submit)+"",s,i,l,o,f;function d(c,m){return c[7].editing.state?Z_:J_}let p=d(n),u=p(n);return{c(){e=_("button"),s=V(t),i=k(),u.c(),l=qe(),a(e,"class","btn btn-success btn-sm")},m(c,m){D(c,e,m),r(e,s),D(c,i,m),u.m(c,m),D(c,l,m),o||(f=P(e,"click",Se(n[11])),o=!0)},p(c,m){m[0]&128&&t!==(t=(c[7].editing.state?window.locales.create.button_update:window.locales.create.button_submit)+"")&&fe(s,t),p===(p=d(c))&&u?u.p(c,m):(u.d(1),u=p(c),u&&(u.c(),u.m(l.parentNode,l)))},d(c){c&&L(e),c&&L(i),u.d(c),c&&L(l),o=!1,f()}}}function J_(n){let e,t,s;return{c(){e=_("button"),e.textContent=`${window.locales.create.button_clear}`,a(e,"class","btn btn-danger btn-sm text-light ms-1")},m(i,l){D(i,e,l),t||(s=P(e,"click",Se(n[12])),t=!0)},p:ue,d(i){i&&L(e),t=!1,s()}}}function Z_(n){let e,t,s,i,l;return{c(){e=_("button"),e.textContent=`${window.locales.create.button_delete}`,t=k(),s=_("button"),s.textContent=`${window.locales.create.button_cancel}`,a(e,"class","btn btn-danger btn-sm text-light ms-1"),a(s,"class","btn btn-secondary btn-sm text-light ms-1")},m(o,f){D(o,e,f),D(o,t,f),D(o,s,f),i||(l=[P(e,"click",Se(n[14])),P(s,"click",Se(n[15]))],i=!0)},p:ue,d(o){o&&L(e),o&&L(t),o&&L(s),i=!1,Ee(l)}}}function x_(n){let e=[],t=new Map,s,i=n[4];const l=o=>o[37];for(let o=0;oo[37];for(let o=0;o=n[2]*12&&n[37]=s[2]*12&&s[37]=e[2]*12&&e[37]=e[2]*12&&e[37]0?eh:x_}let Ot=pn(n),ut=Ot(n),Kt=n[0];const Yt=te=>te[37];for(let te=0;te',le=k(),se=_("li"),ie=_("span"),_e=_("i"),B=k(),Z=V(Q),de=k(),ke=_("div"),je&&je.c(),ae=k(),oe=_("div"),Ae=_("div"),Ae.textContent=`${window.locales.create.all_doors}`,Ne=k(),$=_("div"),Y=_("div"),R=_("input"),W=k(),x=_("span"),x.innerHTML='',Le=k(),Re=_("ul"),ut.c(),et=k(),he=_("div"),me=_("div"),Te=_("nav"),F=_("ul"),Oe=_("li"),Be=_("span"),Be.textContent=`${window.locales.control.previous}`,Ye=k();for(let te=0;te{re[Qe]=null}),pt(),p=re[d],p?p.p(te,$e):(p=re[d]=ct[d](te),p.c()),ce(p,1),p.m(f,null)),te[7].doors_selected||te[7].editing.state?je?je.p(te,$e):(je=xl(te),je.c(),je.m(ke,null)):je&&(je.d(1),je=null),$e[0]&32&&R.value!==te[5]&&pe(R,te[5]),Ot===(Ot=pn(te))&&ut?ut.p(te,$e):(ut.d(1),ut=Ot(te),ut&&(ut.c(),ut.m(Re,null))),(!wt||$e[0]&4&&at!==(at="page-item rounded-0 "+(te[2]-1<0?"disabled":"cursor-pointer")))&&a(Oe,"class",at),$e[0]&5&&(Kt=te[0],We=Ve(We,$e,Yt,1,te,Kt,vt,F,Ke,or,Ue,Ql)),(!wt||$e[0]&6&&Ze!==(Ze="page-item rounded-0 "+(te[2]+1==te[1]?"disabled":"cursor-pointer")))&&a(Fe,"class",Ze)},i(te){wt||(ce(p),it(()=>{ze||(ze=Bt(e,Wt,{duration:100},!0)),ze.run(1)}),wt=!0)},o(te){ge(p),ze||(ze=Bt(e,Wt,{duration:100},!1)),ze.run(0),wt=!1},d(te){te&&L(e),Ce.d(),Ge&&Ge.d(),re[d].d(),je&&je.d(),ut.d();for(let $e=0;$et(4,d=B)),be(n,Xe,B=>t(6,p=B)),be(n,H,B=>t(31,u=B)),be(n,j,B=>t(7,c=B)),be(n,ps,B=>t(32,m=B)),be(n,ye,B=>t(33,h=B));function g(B){He.send("select_doors",{action:1,door_count:B==1?1:B==2?2:1,door_type:B==1?"single":B==2?"double":B==3?"garage":B==4?"gates":"double_gate"}),T(j,c.status=!1,c),T(j,c.creating=!0,c),T(j,c.door_count=B,c),T(j,c.editing.state=!1,c),T(j,c.editing.door=-1,c),T(j,c.selection_icon=!0,c)}function A(){T(j,c.status=!1,c),T(j,c.creating=!1,c),T(j,c.editing.selection=!0,c),T(j,c.door_count=1,c),T(j,c.editing.state=!1,c),T(j,c.editing.door=-1,c),T(j,c.selection_icon=!0,c),He.send("select_doors",{action:1,door_count:1,door_type:1})}let y,E="";function C(){clearTimeout(y),y=setTimeout(N,500)}function N(){if(t(3,i.length=0,i),t(3,i),s=E,t(2,l=0),s!="")for(let B=0;B{za()});function b(){let B=!1;if((u.name.length>window.config.door_name_max_length||u.name.length<=0)&&(h.push({message:window.locales.create.alerts.name_too_long,type:"alert-danger"}),ye.set(h),m.play("_notification.ogg"),B=!0),u.name.match(window.config.door_name_match)&&(h.push({message:window.locales.create.alerts.name_out_of_scope,type:"alert-danger"}),ye.set(h),m.play("_notification.ogg"),B=!0),u.locationGroup.length==0&&(h.push({message:window.locales.create.alerts.location_group_not_set,type:"alert-danger"}),ye.set(h),m.play("_notification.ogg"),B=!0),u.passcode===""?u.jobs.length+u.identifier.length+u.ace.length+u.discord.length==0&&(h.push({message:window.locales.create.alerts.permissions_not_set,type:"alert-danger"}),ye.set(h),m.play("_notification.ogg")):(u.passcode&&u.passcode.length!=0&&u.passcode.match(/[^0-9]/g)&&(h.push({message:window.locales.create.alerts.passcode_out_of_scope,type:"alert-danger"}),ye.set(h),m.play("_notification.ogg"),B=!0),u.passcode&&u.passcode.length>window.config.door_passcode_max_length&&(h.push({message:window.locales.create.alerts.passcode_length_bad,type:"alert-danger"}),ye.set(h),m.play("_notification.ogg"),B=!0)),u.auto_lock!=null&&u.auto_lock.toString().match(/[^0-9]/g)?(h.push({message:window.locales.create.alerts.auto_lock_nan,type:"alert-danger"}),ye.set(h),m.play("_notification.ogg"),B=!0):u.auto_lock!=""&&u.auto_lock>window.config.auto_lock_max_time&&(h.push({message:window.locales.create.alerts.auto_lock_too_large[0]+window.config.auto_lock_max_time+window.locales.create.alerts.auto_lock_too_large[1],type:"alert-danger"}),ye.set(h),m.play("_notification.ogg"),B=!0),(u.distance<1||u.distance>10)&&T(H,u.distance=2,u),B)return;let Q={perms:{job:u.jobs,identifier:u.identifier,ace:u.ace,discord:u.discord,items:u.items},passcode:u.passcode?u.passcode:null,lockpickable:u.lockpick,door_name:u.name,location_group:u.locationGroup,door_sound:u.sound,distance:u.distance,state:!1,default_state:u.locked,door_type:c.door_count==1?"single":c.door_count==2?"double":c.door_count==3?"garage":"gates",door_data:u.door_data,secret:u.secret,camera:u.camera,auto_lock:u.auto_lock==""?null:u.auto_lock};c.editing.state?(T(Me,d[c.editing.door].perms=Q.perms,d),T(Me,d[c.editing.door].passcode=Q.passcode,d),T(Me,d[c.editing.door].lockpickable=Q.lockpickable,d),T(Me,d[c.editing.door].door_name=Q.door_name,d),T(Me,d[c.editing.door].location_group=Q.location_group,d),T(Me,d[c.editing.door].door_sound=Q.door_sound,d),T(Me,d[c.editing.door].distance=Q.distance,d),T(Me,d[c.editing.door].state=Q.state,d),T(Me,d[c.editing.door].default_state=Q.default_state,d),T(Me,d[c.editing.door].door_type=Q.door_type,d),T(Me,d[c.editing.door].door_data=Q.door_data,d),T(Me,d[c.editing.door].secret=Q.secret,d),T(Me,d[c.editing.door].camera=Q.camera,d),T(Me,d[c.editing.door].auto_lock=Q.auto_lock,d),He.send("updatedoor",d[c.editing.door]),h.push({message:window.locales.create.alerts.door_updated,type:"alert-success"}),ye.set(h),m.play("_notification.ogg")):(He.send("create_door",Q),d.push(Q),Me.set(d),h.push({message:window.locales.create.alerts.door_created,type:"alert-success"}),ye.set(h),m.play("_notification.ogg")),v(),T(j,c.creating=!1,c),T(j,c.doors_selected=!1,c),T(j,c.editing.state=!1,c)}function v(){T(H,u.name="",u),T(H,u.locationGroup="",u),T(H,u.jobs=[],u),T(H,u.identifier=[],u),T(H,u.ace=[],u),T(H,u.discord=[],u),T(H,u.locked=!0,u),T(H,u.lockpick=!1,u),T(H,u.garage=!1,u),T(H,u.passcode="",u),T(H,u.sound="",u),T(H,u.door_data=[],u),T(H,u.secret=!1,u),T(H,u.camera=!1,u),T(H,u.distance=2,u),T(H,u.auto_lock="",u),T(H,u.items=[],u)}function w(B,Q){let Z=B==-1?Q:d[B];!Z||(T(H,u.name=Z.door_name,u),T(H,u.locationGroup=Z.location_group,u),T(H,u.jobs=Z.perms.job?Z.perms.job:[],u),T(H,u.identifier=Z.perms.identifier?Z.perms.identifier:[],u),T(H,u.ace=Z.perms.ace?Z.perms.ace:[],u),T(H,u.discord=Z.perms.discord?Z.perms.discord:[],u),T(H,u.items=Z.perms.items?Z.perms.items:[],u),T(H,u.locked=Z.default_state,u),T(H,u.lockpick=Z.lockpickable,u),T(H,u.passcode=Z.passcode,u),T(H,u.sound=Z.door_sound,u),T(H,u.door_data=Z.door_data,u),T(H,u.secret=Z.secret,u),T(H,u.camera=Z.camera,u),T(H,u.distance=Z.distance,u),T(H,u.auto_lock=Z.auto_lock,u),T(j,c.editing.state=!0,c),T(j,c.editing.door=B==-1?d.findIndex(de=>de.door_data[0].unique_id===Q.door_data[0].unique_id):B,c))}function S(){if(c.editing.state)T(j,c.delete.state=!0,c),T(j,c.delete.door=c.editing.door,c),T(j,c.delete.name=d[c.editing.door].door_name,c),T(j,c.delete.type="door",c);else return}function M(){v(),T(j,c.doors_data=null,c),T(j,c.editing.door=-1,c),T(j,c.creating=!1,c),T(j,c.doors_selected=!1,c),T(j,c.editing.state=!1,c),j.set(c)}function G(){T(Xe,p.locationGroup=u.locationGroup,p),T(Xe,p.jobs=u.jobs,p),T(Xe,p.identifier=u.identifier,p),T(Xe,p.ace=u.ace,p),T(Xe,p.discord=u.discord,p),T(Xe,p.items=u.items,p),T(Xe,p.locked=u.locked,p),T(Xe,p.lockpick=u.lockpick,p),T(Xe,p.garage=u.garage,p),T(Xe,p.passcode=u.passcode,p),T(Xe,p.sound=u.sound,p),T(Xe,p.secret=u.secret,p),T(Xe,p.camera=u.camera,p),T(Xe,p.distance=u.distance,p),T(Xe,p.auto_lock=u.auto_lock,p),T(Xe,p.hasData=!0,p),Xe.set(p)}function U(){!p.hasData||(T(H,u.locationGroup=p.locationGroup,u),T(H,u.jobs=p.jobs,u),T(H,u.identifier=p.identifier,u),T(H,u.ace=p.ace,u),T(H,u.discord=p.discord,u),T(H,u.items=p.items,u),T(H,u.locked=p.locked,u),T(H,u.lockpick=p.lockpick,u),T(H,u.garage=p.garage,u),T(H,u.passcode=p.passcode,u),T(H,u.sound=p.sound,u),T(H,u.secret=p.secret,u),T(H,u.camera=p.camera,u),T(H,u.distance=p.distance,u),T(H,u.auto_lock=p.auto_lock,u))}const K=()=>{g(1)},J=()=>{g(2)},q=()=>{g(3)},ne=()=>{g(4)},O=()=>{g(5)};function X(){E=this.value,t(5,E)}const I=B=>{w(-1,B)},le=B=>{w(B)},se=()=>{l-1<0||t(2,l-=1)},ie=B=>{B.index!=-1&&t(2,l=B.index)},_e=()=>{l+1==f||t(2,l+=1)};return n.$$.update=()=>{if(n.$$.dirty[0]&31)if(i.length>0)if(t(0,o.length=0,o),t(1,f=Math.ceil(i.length/12)),f>Rt){let B=!1,Q=1,Z=Rt;l+3Rt?(o.push({number:1,index:0}),o.push({number:"...",index:-1}),Q=l-Rt+3,B?Z=l+2:Z=f-1):l+3>Rt&&(Z=l+2);for(let de=Q;de<=Z;de++)o.push({number:de,index:de-1});B?(o.push({number:"...",index:-1}),o.push({number:f,index:f-1})):o.push({number:f,index:f-1})}else for(let B=1;B<=f;B++)o.push({number:B,index:B-1});else if(t(0,o.length=0,o),t(1,f=Math.ceil(d.length/12)),f>Rt){let B=!1,Q=1,Z=Rt;l+3Rt?(o.push({number:1,index:0}),o.push({number:"...",index:-1}),Q=l-Rt+3,B?Z=l+2:Z=f-1):l+3>Rt&&(Z=l+2);for(let de=Q;de<=Z;de++)o.push({number:de,index:de-1});B?(o.push({number:"...",index:-1}),o.push({number:f,index:f-1})):o.push({number:f,index:f-1})}else for(let B=1;B<=f;B++)o.push({number:B,index:B-1})},s="",t(3,i=[]),t(2,l=0),t(0,o=[]),t(1,f=0),[o,f,l,i,d,E,p,c,g,A,C,b,v,w,S,M,G,U,K,J,q,ne,O,X,I,le,se,ie,_e]}class sh extends bt{constructor(e){super(),gt(this,e,nh,th,rt,{},null,[-1,-1])}}function lr(n){let e,t,s=window.locales.navigation.create_edit+"",i,l,o,f,d,p;return{c(){e=_("li"),t=_("a"),i=V(s),l=k(),o=_("i"),a(o,"class","bi bi-pencil-square"),a(t,"href","#"),a(t,"class",f="text-light nav-link "+(n[0]=="create"?"active":"")),a(e,"class","nav-item"),a(e,"data-name","create")},m(u,c){D(u,e,c),r(e,t),r(t,i),r(t,l),r(t,o),d||(p=P(e,"click",n[5]),d=!0)},p(u,c){c&1&&f!==(f="text-light nav-link "+(u[0]=="create"?"active":""))&&a(t,"class",f)},d(u){u&&L(e),d=!1,p()}}}function rr(n){let e,t,s=window.locales.navigation.import+"",i,l,o,f,d,p;return{c(){e=_("li"),t=_("a"),i=V(s),l=k(),o=_("i"),a(o,"class","bi bi-box-arrow-in-down-right"),a(t,"href","#"),a(t,"class",f="text-light nav-link "+(n[0]=="import"?"active":"")),a(e,"class","nav-item"),a(e,"data-name","import")},m(u,c){D(u,e,c),r(e,t),r(t,i),r(t,l),r(t,o),d||(p=P(e,"click",n[3]),d=!0)},p(u,c){c&1&&f!==(f="text-light nav-link "+(u[0]=="import"?"active":""))&&a(t,"class",f)},d(u){u&&L(e),d=!1,p()}}}function ih(n){let e,t,s,i,l=window.locales.navigation.control+"",o,f,d,p,u,c,m,h,g=window.locales.navigation.settings+"",A,y,E,C,N,b,v=n[1]&&lr(n),w=n[1]&&rr(n);return{c(){e=_("ul"),v&&v.c(),t=k(),s=_("li"),i=_("a"),o=V(l),f=k(),d=_("i"),u=k(),w&&w.c(),c=k(),m=_("li"),h=_("a"),A=V(g),y=k(),E=_("i"),a(d,"class","bi bi-dpad"),a(i,"href","#"),a(i,"class",p="text-light nav-link "+(n[0]=="control"?"active":"")),a(s,"class","nav-item"),a(s,"data-name","control"),a(E,"class","bi bi-gear"),a(h,"href","#"),a(h,"class",C="text-light nav-link "+(n[0]=="settings"?"active":"")),a(m,"class","nav-item"),a(m,"data-name","settings"),a(e,"class","nav nav-tabs mt-3")},m(S,M){D(S,e,M),v&&v.m(e,null),r(e,t),r(e,s),r(s,i),r(i,o),r(i,f),r(i,d),r(e,u),w&&w.m(e,null),r(e,c),r(e,m),r(m,h),r(h,A),r(h,y),r(h,E),N||(b=[P(s,"click",n[4]),P(m,"click",n[2])],N=!0)},p(S,[M]){S[1]?v?v.p(S,M):(v=lr(S),v.c(),v.m(e,t)):v&&(v.d(1),v=null),M&1&&p!==(p="text-light nav-link "+(S[0]=="control"?"active":""))&&a(i,"class",p),S[1]?w?w.p(S,M):(w=rr(S),w.c(),w.m(e,c)):w&&(w.d(1),w=null),M&1&&C!==(C="text-light nav-link "+(S[0]=="settings"?"active":""))&&a(h,"class",C)},i:ue,o:ue,d(S){S&&L(e),v&&v.d(),w&&w.d(),N=!1,Ee(b)}}}function oh(n,e,t){let{active:s="create"}=e,{permissions:i}=e;i?s="create":s="control";function l(p){xn.call(this,n,p)}function o(p){xn.call(this,n,p)}function f(p){xn.call(this,n,p)}function d(p){xn.call(this,n,p)}return n.$$set=p=>{"active"in p&&t(0,s=p.active),"permissions"in p&&t(1,i=p.permissions)},[s,i,l,o,f,d]}class lh extends bt{constructor(e){super(),gt(this,e,oh,ih,rt,{active:0,permissions:1})}}function rh(n,e){if(!n){console.error("[Scale] - Scaling function needs an element passed");return}if(!e){console.error("[Scale] - Scaling function needs a value passed");return}if(e<0){console.error("[Scale] - Scaling function needs a value higher than 0");return}n.style.setProperty("--scale",e)}function ah(n){let e,t,s,i,l,o,f,d=n[1].toFixed(0)+"",p,u,c,m,h,g;return{c(){e=_("div"),t=_("div"),s=_("label"),s.textContent=`${window.locales.settings.scale}`,i=k(),l=_("input"),o=k(),f=_("span"),p=V(d),u=V("%"),a(s,"for","scale"),a(s,"class","form-label"),a(l,"type","range"),a(l,"class","form-range"),a(l,"id","scale"),a(l,"min","50"),a(l,"max","300"),a(l,"step","10"),a(t,"class","col-6 col-sm-6"),a(e,"class","row")},m(A,y){D(A,e,y),r(e,t),r(t,s),r(t,i),r(t,l),pe(l,n[1]),r(t,o),r(t,f),r(f,p),r(f,u),m=!0,h||(g=[P(l,"change",n[4]),P(l,"input",n[4]),P(l,"change",n[2]),P(l,"input",ch),P(l,"mouseup",Ga)],h=!0)},p(A,[y]){y&2&&pe(l,A[1]),(!m||y&2)&&d!==(d=A[1].toFixed(0)+"")&&fe(p,d)},i(A){m||(it(()=>{c||(c=Bt(e,Wt,{duration:100},!0)),c.run(1)}),m=!0)},o(A){c||(c=Bt(e,Wt,{duration:100},!1)),c.run(0),m=!1},d(A){A&&L(e),A&&c&&c.end(),h=!1,Ee(g)}}}function ch(n){document.documentElement.style.setProperty("--pseudo-scale",(n.target.value/100).toString()),document.querySelector(".scale-placeholder").classList.add("placeholder-show")}function Ga(){document.querySelector(".scale-placeholder").classList.remove("placeholder-show")}function uh(n,e,t){let s,i,l=ue,o=()=>(l(),l=Xs(d,c=>t(5,i=c)),d);n.$$.on_destroy.push(()=>l());let{settings:f}=e,{store:d}=e;o();function p(c){rh(document.getElementById("create-doors"),s/100),Ga(),T(d,i.scale=(s/100).toFixed(2),i),f.update(i)}Yn(async()=>{t(1,s=i.scale?i.scale*100:100),p(),setTimeout(()=>{document.documentElement.style.setProperty("--pseudo-width",document.getElementById("create-doors").offsetWidth+"px"),document.documentElement.style.setProperty("--pseudo-height",document.getElementById("create-doors").offsetHeight+"px")},500)});function u(){s=ln(this.value),t(1,s)}return n.$$set=c=>{"settings"in c&&t(3,f=c.settings),"store"in c&&o(t(0,d=c.store))},t(1,s=100),[d,s,p,f,u]}class dh extends bt{constructor(e){super(),gt(this,e,uh,ah,rt,{settings:3,store:0})}}class fh{constructor(e,t,s){Xt(this,"settings");Xt(this,"version");Xt(this,"resource");Xt(this,"subscription");this.settings=St({}),this.version=e,this.resource=t;let i=window.localStorage.getItem(t);i?(i=JSON.parse(i),!i.version||this.version!=i.version?s?this.set(s):(this.removeLocal(),this.set({})):this.set(i)):s?this.set(this.versioned(s)):(this.removeLocal(),this.set({}))}get(){return Io(this.settings)}set(e){this.settings.set(this.versioned(e)),this.updateLocal()}update(e,t){let s=this.get();s[e]=t,this.settings.set(s),this.updateLocal()}updateLocal(){window.localStorage.setItem(this.resource,JSON.stringify(Io(this.settings)))}removeLocal(){window.localStorage.removeItem(this.resource)}versioned(e){let t=e;return t.version=this.version,t}}function ph(n,e){let t=!1,s,i;setTimeout(()=>{s=n.style.left.length==0||n.style.left=="0px"?window.outerWidth/2-n.getBoundingClientRect().width/2:parseFloat(n.style.left),i=n.style.top.length==0||n.style.top=="0px"?window.outerHeight/2-n.getBoundingClientRect().height/2:parseFloat(n.style.top)},100),e=document.getElementById(e),n.style.position="absolute",n.style.top=`${i}px`,n.style.left=`${s}px`,e.style.cursor="grab",e.style.userSelect="none",e.addEventListener("mousedown",()=>{const l=new DragEvent("dragstart");window.dispatchEvent(l),t=!0}),window.addEventListener("mousemove",l=>{t&&(s+=l.movementX,i+=l.movementY,n.style.top=`${i}px`,n.style.left=`${s}px`)}),window.addEventListener("mouseup",()=>{t=!1;const l=new DragEvent("dragend");window.dispatchEvent(l)})}const _h="data:image/webp;base64,UklGRiIBAABXRUJQVlA4WAoAAAAQAAAA/wAA/wAAQUxQSF4AAAABN6CYkSQ4Os9BuJZhCVZkIyJw+uVATdtI0oEYAPdh2Pqq65c/ptSJ6L8it22bzI47HzHwOS96Zqb/I8/q4g/+c/Cr8B/8of/u6L87+u+O/ruj/+7ovzsW4I7+uzMBVlA4IJ4AAADQEACdASoAAQABPikUiUOhoSEQFAAYAoS0t3C7WI2gBPYB77ZOQ99snIe+2TkPfbJyHvtk5D32ych77ZOQ99snIe+2TkPfbJyHvtk5D32ych77ZOQ99snIe+2TkPfbJyHvtk5D32ych77ZOQ99snIe+2TkPfbJyHvtk5D32ych77ZOQ99snIe+2TkPfbJwoAD+//JMAAAAAAAAAAAAAA==";function ar(n){let e,t,s,i,l,o;return{c(){e=_("div"),t=_("div"),t.innerHTML='',s=k(),i=_("div"),i.innerHTML='',a(t,"class","backspace svelte-11vz8gd"),a(i,"class","backspace svelte-11vz8gd"),a(e,"id","suggest-container"),a(e,"class","svelte-11vz8gd")},m(f,d){D(f,e,d),r(e,t),r(e,s),r(e,i),l||(o=[P(t,"click",n[7]),P(i,"click",n[8])],l=!0)},p:ue,d(f){f&&L(e),l=!1,Ee(o)}}}function hh(n){let e,t,s,i,l,o,f,d,p,u,c,m,h,g,A,y,E,C,N,b,v,w,S,M,G,U,K,J,q,ne,O,X,I,le,se,ie,_e,B,Q,Z,de,ke,ae,oe,Ae,Ne,$,Y,R,W,x,Le,Re,et,he=n[1]&&ar(n);return{c(){e=_("div"),t=_("div"),s=_("div"),i=_("div"),l=_("div"),f=k(),d=_("div"),p=_("div"),c=k(),m=_("div"),h=_("div"),A=k(),y=_("div"),E=_("div"),C=_("input"),N=k(),he&&he.c(),b=k(),v=_("div"),w=_("div"),S=_("div"),S.textContent="1",M=k(),G=_("div"),G.textContent="2",U=k(),K=_("div"),K.textContent="3",J=k(),q=_("div"),ne=_("div"),ne.textContent="4",O=k(),X=_("div"),X.textContent="5",I=k(),le=_("div"),le.textContent="6",se=k(),ie=_("div"),_e=_("div"),_e.textContent="7",B=k(),Q=_("div"),Q.textContent="8",Z=k(),de=_("div"),de.textContent="9",ke=k(),ae=_("div"),oe=_("div"),oe.innerHTML='',Ae=k(),Ne=_("div"),Ne.textContent="0",$=k(),Y=_("div"),Y.innerHTML='',R=k(),W=_("div"),a(l,"class",o="led-green "+(n[5]?"led-green-active":"")+" svelte-11vz8gd"),a(i,"class","led-box svelte-11vz8gd"),a(p,"class",u="led-yellow "+(n[3]?"led-yellow-active":"")+" svelte-11vz8gd"),a(d,"class","led-box svelte-11vz8gd"),a(h,"class",g="led-red "+(n[4]?"led-red-active":"")+" svelte-11vz8gd"),a(m,"class","led-box svelte-11vz8gd"),a(s,"id","status-led"),a(s,"class","svelte-11vz8gd"),a(C,"type","password"),a(C,"class","w-100 svelte-11vz8gd"),a(E,"id","keypad-screen"),a(E,"class","position-relative svelte-11vz8gd"),a(y,"id","keypad-screen-wrapper"),a(S,"class","keypad-button svelte-11vz8gd"),a(G,"class","keypad-button svelte-11vz8gd"),a(K,"class","keypad-button svelte-11vz8gd"),a(w,"class","keypad-button-row w-100 svelte-11vz8gd"),a(ne,"class","keypad-button svelte-11vz8gd"),a(X,"class","keypad-button svelte-11vz8gd"),a(le,"class","keypad-button svelte-11vz8gd"),a(q,"class","keypad-button-row w-100 svelte-11vz8gd"),a(_e,"class","keypad-button svelte-11vz8gd"),a(Q,"class","keypad-button svelte-11vz8gd"),a(de,"class","keypad-button svelte-11vz8gd"),a(ie,"class","keypad-button-row w-100 svelte-11vz8gd"),a(oe,"class","keypad-button svelte-11vz8gd"),tt(oe,"color","#d0fe1d"),a(Ne,"class","keypad-button svelte-11vz8gd"),a(Y,"class","keypad-button text-warning svelte-11vz8gd"),a(ae,"class","keypad-button-row w-100 svelte-11vz8gd"),a(v,"id","keypad-button-wrapper"),a(v,"class","svelte-11vz8gd"),a(W,"id","keypad-speaker"),tt(W,"background-image","url("+_h+")"),a(W,"class","svelte-11vz8gd"),a(t,"id","keypad-round-wrapper"),a(t,"class","svelte-11vz8gd"),a(e,"id","keypad"),a(e,"class","shadow-sm svelte-11vz8gd")},m(me,Te){D(me,e,Te),r(e,t),r(t,s),r(s,i),r(i,l),r(s,f),r(s,d),r(d,p),r(s,c),r(s,m),r(m,h),r(t,A),r(t,y),r(y,E),r(E,C),pe(C,n[2]),r(E,N),he&&he.m(E,null),r(t,b),r(t,v),r(v,w),r(w,S),r(w,M),r(w,G),r(w,U),r(w,K),r(v,J),r(v,q),r(q,ne),r(q,O),r(q,X),r(q,I),r(q,le),r(v,se),r(v,ie),r(ie,_e),r(ie,B),r(ie,Q),r(ie,Z),r(ie,de),r(v,ke),r(v,ae),r(ae,oe),r(ae,Ae),r(ae,Ne),r(ae,$),r(ae,Y),r(t,R),r(t,W),Le=!0,Re||(et=[P(C,"input",n[13]),P(C,"input",n[11]),P(C,"paste",n[11]),P(S,"click",n[14]),P(G,"click",n[15]),P(K,"click",n[16]),P(ne,"click",n[17]),P(X,"click",n[18]),P(le,"click",n[19]),P(_e,"click",n[20]),P(Q,"click",n[21]),P(de,"click",n[22]),P(oe,"click",n[10]),P(Ne,"click",n[23]),P(Y,"click",n[9])],Re=!0)},p(me,[Te]){(!Le||Te&32&&o!==(o="led-green "+(me[5]?"led-green-active":"")+" svelte-11vz8gd"))&&a(l,"class",o),(!Le||Te&8&&u!==(u="led-yellow "+(me[3]?"led-yellow-active":"")+" svelte-11vz8gd"))&&a(p,"class",u),(!Le||Te&16&&g!==(g="led-red "+(me[4]?"led-red-active":"")+" svelte-11vz8gd"))&&a(h,"class",g),Te&4&&C.value!==me[2]&&pe(C,me[2]),me[1]?he?he.p(me,Te):(he=ar(me),he.c(),he.m(E,null)):he&&(he.d(1),he=null)},i(me){Le||(it(()=>{x||(x=Bt(e,Wt,{duration:100},!0)),x.run(1)}),Le=!0)},o(me){x||(x=Bt(e,Wt,{duration:100},!1)),x.run(0),Le=!1},d(me){me&&L(e),he&&he.d(),me&&x&&x.end(),Re=!1,Ee(et)}}}function mh(n,e,t){let s,i,l,o,f,d,p,u=ue,c=()=>(u(),u=Xs(h,O=>t(25,p=O)),h),m;be(n,j,O=>t(12,m=O)),n.$$.on_destroy.push(()=>u());let{sound:h}=e;c();function g(O){s.length!=8&&(t(2,s+=O),t(1,i=!0),p.play("_key_press.ogg"))}function A(){if(s.length>0)t(2,s=s.slice(0,-1)),s.length==0&&t(1,i=!1);else return}function y(){l=="password"?l="text":l="password",document.querySelector("#keypad-screen > input").type=l}function E(){t(3,f=!0),He.send("send_passcode",{passcode:s})}function C(){He.send("start_lockpick",{door:null})}function N(O){if(s.length>8){t(2,s=s.slice(0,-(s.length-8))),t(2,s=s.replace(/([^0-9])*/gim,""));return}if(t(2,s=s.replace(/([^0-9])*/gim,"")),s.length==0){t(1,i=!1);return}t(1,i=!0)}function b(){s=this.value,t(2,s)}const v=()=>{g(1)},w=()=>{g(2)},S=()=>{g(3)},M=()=>{g(4)},G=()=>{g(5)},U=()=>{g(6)},K=()=>{g(7)},J=()=>{g(8)},q=()=>{g(9)},ne=()=>{g(0)};return n.$$set=O=>{"sound"in O&&c(t(0,h=O.sound))},n.$$.update=()=>{n.$$.dirty&4096&&t(5,o=m.keypad_success),n.$$.dirty&4096&&t(3,f=m.keypad_processing),n.$$.dirty&4096&&t(4,d=m.keypad_error)},t(2,s=""),t(1,i=!1),l="password",[h,i,s,f,d,o,g,A,y,E,C,N,m,b,v,w,S,M,G,U,K,J,q,ne]}class gh extends bt{constructor(e){super(),gt(this,e,mh,hh,rt,{sound:0})}}function cr(n,e,t){const s=n.slice();return s[49]=e[t],s[51]=t,s}function ur(n,e,t){const s=n.slice();return s[49]=e[t],s[51]=t,s}function dr(n,e,t){const s=n.slice();return s[49]=e[t],s[51]=t,s}function fr(n,e,t){const s=n.slice();return s[59]=e[t],s[51]=t,s}function pr(n,e,t){const s=n.slice();return s[57]=e[t],s[51]=t,s}function _r(n,e,t){const s=n.slice();return s[55]=e[t],s[51]=t,s}function hr(n,e,t){const s=n.slice();return s[53]=e[t],s[51]=t,s}function mr(n,e,t){const s=n.slice();return s[62]=e[t],s[51]=t,s}function bh(n){let e=window.locales.import.permissions[1]+"",t;return{c(){t=V(e)},m(s,i){D(s,t,i)},p:ue,d(s){s&&L(t)}}}function vh(n){let e=window.locales.import.permissions[2]+"",t;return{c(){t=V(e)},m(s,i){D(s,t,i)},p:ue,d(s){s&&L(t)}}}function gr(n){let e,t,s=window.locales.permissions[n[62].toLowerCase()]+"",i,l,o,f,d;function p(){return n[27](n[62])}return{c(){e=_("li"),t=_("span"),i=V(s),o=k(),a(t,"class",l="nav-link text-light"+(n[0]==n[62]?" active":"")),a(t,"aria-current","page"),a(e,"class","nav-item svelte-1b1fi6t")},m(u,c){D(u,e,c),r(e,t),r(t,i),r(e,o),f||(d=P(e,"click",p),f=!0)},p(u,c){n=u,c[0]&2&&s!==(s=window.locales.permissions[n[62].toLowerCase()]+"")&&fe(i,s),c[0]&3&&l!==(l="nav-link text-light"+(n[0]==n[62]?" active":""))&&a(t,"class",l)},d(u){u&&L(e),f=!1,d()}}}function br(n,e){let t,s,i=e[62]!="Passcode"&&gr(e);return{key:n,first:null,c(){t=qe(),i&&i.c(),s=qe(),this.first=t},m(l,o){D(l,t,o),i&&i.m(l,o),D(l,s,o)},p(l,o){e=l,e[62]!="Passcode"?i?i.p(e,o):(i=gr(e),i.c(),i.m(s.parentNode,s)):i&&(i.d(1),i=null)},d(l){l&&L(t),i&&i.d(l),l&&L(s)}}}function wh(n){let e,t=window.locales.create.form.item+"",s,i,l,o,f,d,p,u,c,m,h,g=[],A=new Map,y,E,C=n[2];const N=b=>b[51];for(let b=0;bb[51];for(let b=0;bb[51];for(let b=0;bb[51];for(let b=0;bw[51];for(let w=0;w{d&&d.end(1),f=Js(e,n[15],{key:n[51]}),f.start()}),p=!0)},o(h){f&&f.invalidate(),d=Zs(e,n[14],{key:n[51]}),p=!1},d(h){h&&L(e),h&&d&&d.end(),u=!1,c()}}}function Tr(n,e){let t,s,i,l=!e[49].imported&&Ar(e);return{key:n,first:null,c(){t=qe(),l&&l.c(),s=qe(),this.first=t},m(o,f){D(o,t,f),l&&l.m(o,f),D(o,s,f),i=!0},p(o,f){e=o,e[49].imported?l&&(ft(),ge(l,1,1,()=>{l=null}),pt()):l?(l.p(e,f),f[0]&4096&&ce(l,1)):(l=Ar(e),l.c(),ce(l,1),l.m(s.parentNode,s))},i(o){i||(ce(l),i=!0)},o(o){ge(l),i=!1},d(o){o&&L(t),l&&l.d(o),o&&L(s)}}}function Cr(n){let e,t=n[49].name+"",s,i,l,o,f,d,p,u,c;function m(){return n[40](n[51])}return{c(){e=_("li"),s=V(t),i=k(),l=_("i"),o=k(),a(l,"class","bi bi-x-square-fill text-danger"),a(e,"class","list-group-item list-group-item-action cursor import-item text-capitalize svelte-1b1fi6t")},m(h,g){D(h,e,g),r(e,s),r(e,i),r(e,l),r(e,o),p=!0,u||(c=P(e,"click",m),u=!0)},p(h,g){n=h,(!p||g[0]&4096)&&t!==(t=n[49].name+"")&&fe(s,t)},i(h){p||(it(()=>{d&&d.end(1),f=Js(e,n[15],{key:n[51]}),f.start()}),p=!0)},o(h){f&&f.invalidate(),d=Zs(e,n[14],{key:n[51]}),p=!1},d(h){h&&L(e),h&&d&&d.end(),u=!1,c()}}}function Or(n,e){let t,s,i,l=e[49].imported&&Cr(e);return{key:n,first:null,c(){t=qe(),l&&l.c(),s=qe(),this.first=t},m(o,f){D(o,t,f),l&&l.m(o,f),D(o,s,f),i=!0},p(o,f){e=o,e[49].imported?l?(l.p(e,f),f[0]&4096&&ce(l,1)):(l=Cr(e),l.c(),ce(l,1),l.m(s.parentNode,s)):l&&(ft(),ge(l,1,1,()=>{l=null}),pt())},i(o){i||(ce(l),i=!0)},o(o){ge(l),i=!1},d(o){o&&L(t),l&&l.d(o),o&&L(s)}}}function Th(n){let e,t,s,i,l,o,f,d,p=[],u=new Map,c,m,h,g,A,y,E,C,N,b,v,w,S,M=[],G=new Map,U,K,J,q,ne,O,X,I=[],le=new Map,se,ie;function _e(R,W){return R[13].identifier?vh:bh}let B=_e(n),Q=B(n),Z=n[1];const de=R=>R[51];for(let R=0;RR[51];for(let R=0;RR[51];for(let R=0;R<$.length;R+=1){let W=cr(n,$,R),x=Y(W);le.set(x,I[R]=Or(x,W))}return{c(){e=_("div"),t=_("div"),s=_("h5"),s.textContent=`${window.locales.import.permissions[0]}`,i=k(),l=_("small"),Q.c(),o=k(),f=_("div"),d=_("ul");for(let R=0;R{se||(se=Bt(e,Wt,{duration:100},!0)),se.run(1)}),ie=!0}},o(R){for(let W=0;Wt(44,A=Y)),be(n,ye,Y=>t(45,y=Y)),be(n,H,Y=>t(46,E=Y)),be(n,is,Y=>t(1,C=Y)),be(n,rs,Y=>t(26,N=Y)),be(n,kt,Y=>t(13,b=Y));const[v,w]=gc({fallback(Y,R){const W=getComputedStyle(Y),x=W.transform==="none"?"":W.transform;return{duration:100,easing:hc,css:Le=>` + transform: ${x} scale(${Le}); + opacity: ${Le} + `}}});let S=!1;function M(Y){if(S)return;if(S=!0,o.length+d.length+u.length+m.length+h.length==0){y.push({message:window.locales.import.no_permissions,type:"alert-danger"}),ye.set(y),A.play("_notification.ogg"),S=!1;return}let R=[];for(let x=0;x{S=!1},1e3)}function G(Y){if(S)return;S=!0;let R=[];for(let W=0;W{S=!1},1e3)}function U(){if(i.length>window.config.job_name_max_length||i.length==0){y.push({message:window.locales.create.form.alerts.job_name_too_long,type:"alert-danger"}),ye.set(y),A.play("_notification.ogg");return}else if(i.match(window.config.job_name_match)){y.push({message:window.locales.create.form.alerts.job_name_out_of_scope,type:"alert-danger"}),ye.set(y),A.play("_notification.ogg");return}else if(Number.isInteger(l)){if(l<0||l>window.config.job_grade_max){y.push({message:window.locales.create.form.alerts.job_grade_too_large,type:"alert-danger"}),ye.set(y),A.play("_notification.ogg");return}}else{y.push({message:window.locales.create.form.alerts.job_grade_nan,type:"alert-danger"}),ye.set(y),A.play("_notification.ogg");return}o.push({name:i,grade:l}),t(6,o),t(11,i=""),t(10,l=0)}function K(){if(f.length==0||f.length>64){y.push({message:window.locales.create.form.alerts.identifier_too_long,type:"alert-danger"}),ye.set(y),A.play("_notification.ogg");return}d.push(f),t(5,d)}function J(){u.push(p),t(4,u)}function q(){m.push(c),t(3,m)}function ne(Y){o.splice(Y,1),t(6,o)}function O(Y){d.splice(Y,1),t(5,d)}function X(Y){u.splice(Y,1),t(4,u)}function I(Y){m.splice(Y,1),t(3,m)}const le=Y=>{t(0,g=Y)};function se(){i=this.value,t(11,i)}function ie(){l=ln(this.value),t(10,l)}const _e=Y=>{ne(Y)};function B(){f=this.value,t(9,f)}const Q=Y=>{O(Y)};function Z(){p=this.value,t(8,p)}const de=Y=>{X(Y)};function ke(){c=this.value,t(7,c)}const ae=Y=>{I(Y)};function oe(){c=this.value,t(7,c)}const Ae=Y=>{I(Y)},Ne=Y=>{M(Y)},$=Y=>{G(Y)};return n.$$.update=()=>{n.$$.dirty[0]&67108864&&t(12,s=N),n.$$.dirty[0]&2&&t(0,g=C[0]),n.$$.dirty[0]&1&&g!=""&&setTimeout(()=>{Mi()},500)},t(11,i=""),t(10,l=0),t(6,o=[]),t(9,f=""),t(5,d=[]),t(8,p=""),t(4,u=[]),t(7,c=""),t(3,m=[]),t(2,h=[]),[g,C,h,m,u,d,o,c,p,f,l,i,s,b,v,w,M,G,U,K,J,q,ne,O,X,I,N,le,se,ie,_e,B,Q,Z,de,ke,ae,oe,Ae,Ne,$]}class Oh extends bt{constructor(e){super(),gt(this,e,Ch,Th,rt,{},null,[-1,-1,-1])}}function Nh(n){let e,t=window.locales.selector.icon+"";return{c(){e=_("div"),a(e,"id","selector"),a(e,"class","svelte-2ba962")},m(s,i){D(s,e,i),e.innerHTML=t},p:ue,i:ue,o:ue,d(s){s&&L(e)}}}class Sh extends bt{constructor(e){super(),gt(this,e,null,Nh,rt,{})}}function Lh(n){let e,t,s,i,l,o,f,d,p,u,c,m,h,g=n[2].toISOString()+"",A,y,E,C,N,b,v,w,S;return{c(){e=_("div"),t=_("div"),s=_("div"),s.textContent=`${window.locales.camera.move}`,i=k(),l=_("div"),l.textContent=`${window.locales.camera.zoom}`,o=k(),f=_("div"),f.textContent=`${window.locales.camera.reverse}`,d=k(),p=_("div"),p.textContent=`${window.locales.camera.exit}`,u=k(),c=_("div"),m=_("div"),h=_("div"),A=V(g),y=k(),E=_("div"),C=_("strong"),N=V("["),b=V(n[1]),v=V("]"),w=V(" - "),S=V(n[0]),a(s,"class","camera-tooltip-item svelte-qaw9gz"),a(l,"class","camera-tooltip-item svelte-qaw9gz"),a(f,"class","camera-tooltip-item svelte-qaw9gz"),a(p,"class","camera-tooltip-item svelte-qaw9gz"),a(t,"id","camera-info"),a(t,"class","svelte-qaw9gz"),a(h,"id","camera-timestamp"),a(E,"id","camera-door-name"),a(m,"id","camera-time-location"),a(m,"class","svelte-qaw9gz"),a(c,"id","camera-container"),a(c,"class","svelte-qaw9gz"),a(e,"id","camera"),a(e,"class","svelte-qaw9gz")},m(M,G){D(M,e,G),r(e,t),r(t,s),r(t,i),r(t,l),r(t,o),r(t,f),r(t,d),r(t,p),r(e,u),r(e,c),r(c,m),r(m,h),r(h,A),r(m,y),r(m,E),r(E,C),r(C,N),r(C,b),r(C,v),r(E,w),r(E,S)},p(M,[G]){G&4&&g!==(g=M[2].toISOString()+"")&&fe(A,g),G&2&&fe(b,M[1]),G&1&&fe(S,M[0])},i:ue,o:ue,d(M){M&&L(e)}}}function Dh(n,e,t){let s,{name:i=""}=e,{group:l=""}=e,o;return Yn(()=>{o=setInterval(()=>{t(2,s=new Date)},1e3)}),Vi(()=>{clearInterval(o)}),n.$$set=f=>{"name"in f&&t(0,i=f.name),"group"in f&&t(1,l=f.group)},t(2,s=new Date),[i,l,s]}class Ih extends bt{constructor(e){super(),gt(this,e,Dh,Lh,rt,{name:0,group:1})}}function Mh(n){let e,t,s=n[0].drawTextMessage+"",i,l,o;return{c(){e=_("div"),t=_("div"),a(t,"id","game-start"),a(t,"class","instructions svelte-4d2wf"),a(t,"style",n[1]),a(e,"id","game-instructions"),a(e,"class","svelte-4d2wf")},m(f,d){D(f,e,d),r(e,t),t.innerHTML=s,o=!0},p(f,[d]){(!o||d&1)&&s!==(s=f[0].drawTextMessage+"")&&(t.innerHTML=s),(!o||d&2)&&a(t,"style",f[1])},i(f){o||(it(()=>{l&&l.end(1),i=Js(e,Ks,{x:500,duration:500}),i.start()}),o=!0)},o(f){i&&i.invalidate(),l=Zs(e,Ks,{x:500,duration:500}),o=!1},d(f){f&&L(e),f&&l&&l.end()}}}function $h(n,e,t){let s,i;return be(n,kt,l=>t(0,i=l)),n.$$.update=()=>{n.$$.dirty&1&&i.drawTextColor&&t(1,s="box-shadow: 0px 0px 5px "+i.drawTextColor+";background-color:"+i.drawTextColor+";")},t(1,s=""),[i,s]}class Ph extends bt{constructor(e){super(),gt(this,e,$h,Mh,rt,{})}}const{window:Rs}=uc;function Nr(n){let e,t;return e=new Ph({}),{c(){_t(e.$$.fragment)},m(s,i){ot(e,s,i),t=!0},i(s){t||(ce(e.$$.fragment,s),t=!0)},o(s){ge(e.$$.fragment,s),t=!1},d(s){lt(e,s)}}}function Sr(n){let e,t;return e=new Ih({props:{name:n[0].camera.name,group:n[0].camera.group}}),{c(){_t(e.$$.fragment)},m(s,i){ot(e,s,i),t=!0},p(s,i){const l={};i&1&&(l.name=s[0].camera.name),i&1&&(l.group=s[0].camera.group),e.$set(l)},i(s){t||(ce(e.$$.fragment,s),t=!0)},o(s){ge(e.$$.fragment,s),t=!1},d(s){lt(e,s)}}}function Lr(n){let e,t;return e=new Fa({props:{name:n[0].delete.name}}),e.$on("click",n[14]),{c(){_t(e.$$.fragment)},m(s,i){ot(e,s,i),t=!0},p(s,i){const l={};i&1&&(l.name=s[0].delete.name),e.$set(l)},i(s){t||(ce(e.$$.fragment,s),t=!0)},o(s){ge(e.$$.fragment,s),t=!1},d(s){lt(e,s)}}}function Dr(n){let e,t;return e=new Sh({}),{c(){_t(e.$$.fragment)},m(s,i){ot(e,s,i),t=!0},i(s){t||(ce(e.$$.fragment,s),t=!0)},o(s){ge(e.$$.fragment,s),t=!1},d(s){lt(e,s)}}}function Ir(n){let e,t;return e=new gh({props:{sound:ps}}),{c(){_t(e.$$.fragment)},m(s,i){ot(e,s,i),t=!0},p:ue,i(s){t||(ce(e.$$.fragment,s),t=!0)},o(s){ge(e.$$.fragment,s),t=!1},d(s){lt(e,s)}}}function Mr(n){let e,t,s,i,l,o=window.locales.main.info+"",f,d,p,u,c,m,h,g,A,y,E,C,N,b,v,w,S=window.locales.main.logo+"",M,G,U,K,J,q;c=new _c({props:{type:n[8]}}),h=new lh({props:{active:n[7],permissions:n[9].permissions}}),h.$on("click",n[10]);const ne=[Vh,Hh,jh,Rh],O=[];function X(I,le){return I[7]=="create"?0:I[7]=="control"?1:I[7]=="settings"?2:I[7]=="import"?3:-1}return~(y=X(n))&&(E=O[y]=ne[y](n)),{c(){e=_("div"),t=k(),s=_("div"),i=_("div"),l=_("div"),f=V(o),d=k(),p=_("small"),p.innerHTML='',u=k(),_t(c.$$.fragment),m=k(),_t(h.$$.fragment),g=k(),A=_("div"),E&&E.c(),C=k(),N=_("div"),b=_("small"),b.textContent=`${window.locales.main.version}`,v=k(),w=_("small"),a(e,"class","scale-placeholder"),a(p,"class","float-end text-small text-muted"),a(l,"class","card-header"),a(l,"id","handle"),a(A,"class","card-body row"),a(w,"id","server-logo"),a(w,"class","text-small svelte-vrcv47"),a(N,"class","card-footer d-flex justify-content-between"),a(i,"class","card col"),a(s,"id","create-doors"),a(s,"style",M="position:absolute; "+n[1]),a(s,"class","w-50 border-cd rounded shadow-sm scale svelte-vrcv47")},m(I,le){D(I,e,le),D(I,t,le),D(I,s,le),r(s,i),r(i,l),r(l,f),r(l,d),r(l,p),r(i,u),ot(c,i,null),r(i,m),ot(h,i,null),r(i,g),r(i,A),~y&&O[y].m(A,null),r(i,C),r(i,N),r(N,b),r(N,v),r(N,w),w.innerHTML=S,K=!0,J||(q=Za(ph.call(null,s,"handle")),J=!0)},p(I,le){const se={};le&256&&(se.type=I[8]),c.$set(se);const ie={};le&128&&(ie.active=I[7]),le&512&&(ie.permissions=I[9].permissions),h.$set(ie);let _e=y;y=X(I),y===_e?~y&&O[y].p(I,le):(E&&(ft(),ge(O[_e],1,1,()=>{O[_e]=null}),pt()),~y?(E=O[y],E?E.p(I,le):(E=O[y]=ne[y](I),E.c()),ce(E,1),E.m(A,null)):E=null),(!K||le&2&&M!==(M="position:absolute; "+I[1]))&&a(s,"style",M)},i(I){K||(ce(c.$$.fragment,I),ce(h.$$.fragment,I),ce(E),it(()=>{U&&U.end(1),G=Js(s,Ks,{y:500,duration:300}),G.start()}),K=!0)},o(I){ge(c.$$.fragment,I),ge(h.$$.fragment,I),ge(E),G&&G.invalidate(),U=Zs(s,Ks,{y:500,duration:300}),K=!1},d(I){I&&L(e),I&&L(t),I&&L(s),lt(c),lt(h),~y&&O[y].d(),I&&U&&U.end(),J=!1,q()}}}function Rh(n){let e,t;return e=new Oh({}),{c(){_t(e.$$.fragment)},m(s,i){ot(e,s,i),t=!0},p:ue,i(s){t||(ce(e.$$.fragment,s),t=!0)},o(s){ge(e.$$.fragment,s),t=!1},d(s){lt(e,s)}}}function jh(n){let e,t;return e=new dh({props:{settings:n[4],store:n[4].settings}}),{c(){_t(e.$$.fragment)},m(s,i){ot(e,s,i),t=!0},p(s,i){const l={};i&16&&(l.settings=s[4]),i&16&&(l.store=s[4].settings),e.$set(l)},i(s){t||(ce(e.$$.fragment,s),t=!0)},o(s){ge(e.$$.fragment,s),t=!1},d(s){lt(e,s)}}}function Hh(n){let e,t;return e=new D_({}),{c(){_t(e.$$.fragment)},m(s,i){ot(e,s,i),t=!0},p:ue,i(s){t||(ce(e.$$.fragment,s),t=!0)},o(s){ge(e.$$.fragment,s),t=!1},d(s){lt(e,s)}}}function Vh(n){let e,t;return e=new sh({}),{c(){_t(e.$$.fragment)},m(s,i){ot(e,s,i),t=!0},p:ue,i(s){t||(ce(e.$$.fragment,s),t=!0)},o(s){ge(e.$$.fragment,s),t=!1},d(s){lt(e,s)}}}function $r(n){let e,t,s,i,l=window.locales.create.selection.select[0]+"",o,f,d,p,u,c=window.locales.create.selection.select[1]+"",m,h,g=window.locales.create.selection.select[2]+"",A,y,E,C=window.locales.create.selection.cancel[0]+"",N,b,v,w,S,M=window.locales.create.selection.cancel[1]+"",G,U,K=window.locales.create.selection.cancel[2]+"",J,q,ne,O,X=window.locales.create.selection.amount_selected[0]+"",I,le,se,ie,_e,B=(n[0].door_count==3||n[0].door_count==4||n[0].door_count==5?1:n[0].door_count)+"",Q,Z,de=window.locales.create.selection.amount_selected[1]+"",ke;return{c(){e=_("div"),t=_("div"),s=_("div"),i=_("div"),o=V(l),f=k(),d=_("kbd"),p=_("i"),u=k(),m=V(c),h=k(),A=V(g),y=k(),E=_("div"),N=V(C),b=k(),v=_("kbd"),w=_("i"),S=k(),G=V(M),U=k(),J=V(K),q=k(),ne=_("div"),O=_("div"),I=V(X),le=k(),se=_("span"),ie=V(n[6]),_e=V("/"),Q=V(B),Z=k(),ke=V(de),a(p,"class","bi bi-mouse-fill"),a(i,"class","col-12 text-center"),a(w,"class","bi bi-mouse-fill"),a(E,"class","col-12 text-center"),a(s,"class","row"),a(se,"class","badge text-bg-dark"),a(O,"class","col-12 text-center"),a(ne,"class","row"),a(t,"class","card-body user-select-none bg-secondary rounded"),a(e,"id","selection-helper"),a(e,"class","card position-absolute shadow-sm border-cd-sm"),tt(e,"bottom","5%"),tt(e,"left","50%"),tt(e,"transform","translateX(-50%)")},m(ae,oe){D(ae,e,oe),r(e,t),r(t,s),r(s,i),r(i,o),r(i,f),r(i,d),r(d,p),r(d,u),r(d,m),r(i,h),r(i,A),r(s,y),r(s,E),r(E,N),r(E,b),r(E,v),r(v,w),r(v,S),r(v,G),r(E,U),r(E,J),r(t,q),r(t,ne),r(ne,O),r(O,I),r(O,le),r(O,se),r(se,ie),r(se,_e),r(se,Q),r(O,Z),r(O,ke)},p(ae,oe){oe&64&&fe(ie,ae[6]),oe&1&&B!==(B=(ae[0].door_count==3||ae[0].door_count==4||ae[0].door_count==5?1:ae[0].door_count)+"")&&fe(Q,B)},d(ae){ae&&L(e)}}}function Bh(n){let e,t,s,i,l,o,f,d,p,u,c=n[5]&&Nr(),m=n[0].camera.state&&Sr(n),h=n[0].delete.state&&Lr(n),g=n[3]&&Dr(),A=n[0].keypad&&Ir(),y=n[2]&&Mr(n),E=n[0].creating&&$r(n);return{c(){c&&c.c(),e=k(),m&&m.c(),t=k(),h&&h.c(),s=k(),g&&g.c(),i=k(),l=_("main"),A&&A.c(),o=k(),y&&y.c(),f=k(),E&&E.c(),a(l,"class","d-flex justify-content-center align-items-center overflow-hidden svelte-vrcv47"),tt(l,"width","100%"),tt(l,"height","100vh")},m(C,N){c&&c.m(C,N),D(C,e,N),m&&m.m(C,N),D(C,t,N),h&&h.m(C,N),D(C,s,N),g&&g.m(C,N),D(C,i,N),D(C,l,N),A&&A.m(l,null),r(l,o),y&&y.m(l,null),r(l,f),E&&E.m(l,null),d=!0,p||(u=[P(Rs,"dragend",n[11]),P(Rs,"message",n[12]),P(Rs,"keydown",n[13]),P(Rs,"mousedown",n[15])],p=!0)},p(C,[N]){C[5]?c?N&32&&ce(c,1):(c=Nr(),c.c(),ce(c,1),c.m(e.parentNode,e)):c&&(ft(),ge(c,1,1,()=>{c=null}),pt()),C[0].camera.state?m?(m.p(C,N),N&1&&ce(m,1)):(m=Sr(C),m.c(),ce(m,1),m.m(t.parentNode,t)):m&&(ft(),ge(m,1,1,()=>{m=null}),pt()),C[0].delete.state?h?(h.p(C,N),N&1&&ce(h,1)):(h=Lr(C),h.c(),ce(h,1),h.m(s.parentNode,s)):h&&(ft(),ge(h,1,1,()=>{h=null}),pt()),C[3]?g?N&8&&ce(g,1):(g=Dr(),g.c(),ce(g,1),g.m(i.parentNode,i)):g&&(ft(),ge(g,1,1,()=>{g=null}),pt()),C[0].keypad?A?(A.p(C,N),N&1&&ce(A,1)):(A=Ir(),A.c(),ce(A,1),A.m(l,o)):A&&(ft(),ge(A,1,1,()=>{A=null}),pt()),C[2]?y?(y.p(C,N),N&4&&ce(y,1)):(y=Mr(C),y.c(),ce(y,1),y.m(l,f)):y&&(ft(),ge(y,1,1,()=>{y=null}),pt()),C[0].creating?E?E.p(C,N):(E=$r(C),E.c(),E.m(l,null)):E&&(E.d(1),E=null)},i(C){d||(ce(c),ce(m),ce(h),ce(g),ce(A),ce(y),d=!0)},o(C){ge(c),ge(m),ge(h),ge(g),ge(A),ge(y),d=!1},d(C){c&&c.d(C),C&&L(e),m&&m.d(C),C&&L(t),h&&h.d(C),C&&L(s),g&&g.d(C),C&&L(i),C&&L(l),A&&A.d(),y&&y.d(),E&&E.d(),p=!1,Ee(u)}}}function Wh(n,e,t){let s,i,l,o,f,d,p,u,c,m,h,g,A,y,E,C;be(n,j,O=>t(0,u=O)),be(n,H,O=>t(18,c=O)),be(n,Me,O=>t(19,m=O)),be(n,kt,O=>t(9,h=O)),be(n,rs,O=>t(20,g=O)),be(n,$i,O=>t(21,A=O)),be(n,ps,O=>t(22,y=O)),be(n,is,O=>t(23,E=O)),be(n,ye,O=>t(24,C=O));function N(O){t(7,s=O.currentTarget.dataset.name)}function b(O){u.keypad!=!0&&(document.documentElement.style.setProperty("--pseudo-left",document.getElementById("create-doors").style.left),document.documentElement.style.setProperty("--pseudo-top",document.getElementById("create-doors").style.top),l.update("position",{left:document.getElementById("create-doors").style.left,top:document.getElementById("create-doors").style.top}))}function v(O){const X=u.door_count==3?2:0;for(let I=0;I=se.door_coords.x-X&&le.door_coords.x<=se.door_coords.x+X&&le.door_coords.y>=se.door_coords.y-X&&le.door_coords.y<=se.door_coords.y+X&&le.door_coords.z>=se.door_coords.z-X&&le.door_coords.z<=se.door_coords.z+X)return u.editing.selection==!0?(T(j,u.editing.state=!0,u),T(j,u.editing.door=I,u),T(j,u.editing.selection=!1,u),T(j,u.doors_selected=!0,u),T(j,u.doors_data=O,u),t(6,f=0),C.push({message:`${window.locales.main.alerts.door_selected[0]} "[ ${m[I].location_group} ] ${m[I].door_name}" ${window.locales.main.alerts.door_selected[1]}`,type:"alert-success"}),ye.set(C),y.play("_notification.ogg"),T(H,c.name=m[I].door_name,c),T(H,c.locationGroup=m[I].location_group,c),T(H,c.jobs=m[I].perms.job,c),T(H,c.identifier=m[I].perms.identifier,c),T(H,c.ace=m[I].perms.ace?m[I].perms.ace:[],c),T(H,c.discord=m[I].perms.discord?m[I].perms.discord:[],c),T(H,c.locked=m[I].default_state,c),T(H,c.lockpick=m[I].lockpickable,c),T(H,c.passcode=m[I].passcode,c),T(H,c.sound=m[I].door_sound,c),T(H,c.door_data=m[I].door_data,c),T(H,c.secret=m[I].secret,c),T(H,c.items=m[I].perms.items?m[I].perms.items:[],c),!0):(C.push({message:`${window.locales.main.alerts.door_exists}[ ${m[I].location_group} ] ${m[I].door_name}`,type:"alert-danger"}),ye.set(C),y.play("_notification.ogg"),!0)}return!1}let w;async function S(O){switch(O.data.action){case"play_sound":y.play(O.data.data);break;case"openui":T(Me,m=O.data.door_data,m),Me.set(m),O.data.door_perms.job&&(O.data.door_perms.job.job_name&&T(kt,h.job={job:O.data.door_perms.job.job_name,grade:O.data.door_perms.job.job_grade},h),O.data.door_perms.job.gang_name&&T(kt,h.gang={gang:O.data.door_perms.job.gang_name,grade:O.data.door_perms.job.gang_grade},h)),O.data.door_perms.identifier&&T(kt,h.identifier=O.data.door_perms.identifier,h),O.data.door_perms.ace&&T(kt,h.ace=O.data.door_perms.ace,h),O.data.door_perms.discord&&T(kt,h.discord=O.data.door_perms.discord,h),T(kt,h.permissions=O.data.admin_perms,h),O.data.admin_perms?t(7,s="create"):t(7,s="control"),T(j,u.doors_selected=!1,u),T(j,u.doors_data=null,u),T(j,u.status=!0,u),T(j,u.editing.status=!1,u),t(2,o=!0);break;case"closeui":t(2,o=!1);break;case"door_selected":t(6,f+=1);break;case"cancel_select_doors":t(6,f=0),T(j,u.status=!0,u),T(j,u.creating=!1,u),T(j,u.editing.state=!1,u),T(j,u.editing.door=-1,u),T(j,u.selection_icon=!1,u),U();break;case"select_doors":if(U(),T(j,u.selection_icon=!1,u),T(j,u.status=!0,u),T(j,u.creating=!1,u),T(j,u.editing.state=!1,u),T(j,u.editing.door=-1,u),w=O.data.data,v(w))return;if(u.editing.selection==!0){T(j,u.editing.selection=!1,u),C.push({message:window.locales.main.alerts.door_does_not_exist,type:"alert-warning"}),ye.set(C),y.play("_notification.ogg");return}T(j,u.doors_selected=!0,u),T(j,u.doors_data=w,u),t(6,f=0);for(let I=0;I{He.send("keypad_closed",{ok:!0}),T(j,u.keypad=!1,u),T(j,u.keypad_processing=!1,u),T(j,u.keypad_success=!1,u),T(j,u.keypad_error=!1,u)},1e3);break;case"close_camera":T(j,u.status=!0,u),T(j,u.camera.state=!1,u),T(j,u.camera.door_id=-1,u);break;case"start_data":He.send("start_data_received",{ok:!0}),T(Me,m=O.data.door_data,m),Me.set(m),T($i,A=O.data.load_sounds,A),T(is,E.length=0,E),O.data.door_access_perms.Framework&&E.push("Framework"),O.data.door_access_perms.Identifiers&&E.push("Identifiers"),O.data.door_access_perms.AcePerms&&E.push("AcePerms"),O.data.door_access_perms.Discord&&E.push("Discord"),O.data.door_access_perms.Items&&E.push("Items"),E.push("Passcode"),is.set(E),A.length>0&&y.batchAdd(A);for(let I=0;I{K=l.get(),t(1,J=K.position.left=="0px"&&K.position.top=="0px"?`--scale:${K.scale};`:`top: ${K.position.top}; left: ${K.position.left};--scale:${K.scale};`)});function q(){T(j,u.delete.state=!1,u),T(j,u.delete.door=-1,u),T(j,u.delete.name="",u),T(j,u.delete.type="door",u)}function ne(O){if(!(u.camera.state||u.delete.state||u.keypad||d))if(o)if(!document.getElementById("create-doors").contains(O.target))G({key:"Escape"});else return;else return}return n.$$.update=()=>{n.$$.dirty&1&&t(2,o=u.status),n.$$.dirty&1&&t(3,d=u.selection_icon)},t(7,s="create"),t(8,i="alert-success"),t(4,l=new fh("1.0.3","cd_doorlock",{scale:1,position:{left:"0px",top:"0px"}})),t(6,f=0),t(5,p=!1),[u,J,o,d,l,p,f,s,i,h,N,b,S,G,q,ne]}class Fh extends bt{constructor(e){super(),gt(this,e,Wh,Bh,rt,{})}}new Fh({target:document.getElementById("app")}); diff --git a/resources/cd_doorlock/html/css/vendor/bootstrap-custom-1.0.0.min.css b/resources/cd_doorlock/html/css/vendor/bootstrap-custom-1.0.0.min.css new file mode 100644 index 000000000..17b785025 --- /dev/null +++ b/resources/cd_doorlock/html/css/vendor/bootstrap-custom-1.0.0.min.css @@ -0,0 +1,6 @@ +/*! + * Bootstrap v5.2.0 (https://getbootstrap.com/) + * Copyright 2011-2022 The Bootstrap Authors + * Copyright 2011-2022 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + */dd,legend{margin-bottom:.5rem}progress,sub,sup{vertical-align:baseline}.img-fluid,.img-thumbnail{max-width:100%;height:auto}.g-0,.gy-0,.row{--bs-gutter-y:0}.btn-check,.form-floating>label{position:absolute;pointer-events:none}.btn,.btn-link{--bs-btn-font-weight:400}.carousel-indicators .active,.form-control:disabled,select:disabled{opacity:1}.dropdown-menu,.dropdown-menu-dark{--bs-dropdown-border-color:var(--bs-border-color-translucent);--bs-dropdown-divider-bg:var(--bs-border-color-translucent);--bs-dropdown-link-active-color:#fff;--bs-dropdown-link-active-bg:#0d6efd;--bs-dropdown-link-disabled-color:#adb5bd}.dropdown-header,.dropdown-item,.dropdown-toggle,.input-group-text,.navbar-brand{white-space:nowrap}.nav,.navbar-nav{--bs-nav-link-padding-y:0.5rem;--bs-nav-link-font-weight: ;list-style:none}.btn-group-vertical,.navbar-nav{-webkit-box-orient:vertical;-webkit-box-direction:normal}.btn-group-vertical,.card,.navbar-nav{-webkit-box-direction:normal}.card,code{word-wrap:break-word}.breadcrumb,.carousel-indicators,.dropdown-menu,.nav,.navbar-nav,.pagination{list-style:none}.spinner-border,.spinner-grow{--bs-spinner-vertical-align:-0.125em;--bs-spinner-animation-speed:0.75s}.hstack,.vr,.vstack{align-self:stretch}.border-danger,.border-dark,.border-info,.border-light,.border-primary,.border-secondary,.border-success,.border-warning,.border-white{--bs-border-opacity:1}.border-1,:root{--bs-border-width:1px}.text-black,.text-black-50,.text-body,.text-danger,.text-dark,.text-info,.text-light,.text-muted,.text-primary,.text-reset,.text-secondary,.text-success,.text-warning,.text-white,.text-white-50{--bs-text-opacity:1}.bg-black,.bg-body,.bg-danger,.bg-dark,.bg-info,.bg-light,.bg-primary,.bg-secondary,.bg-success,.bg-transparent,.bg-warning,.bg-white{--bs-bg-opacity:1}:root{--bs-blue:#0d6efd;--bs-indigo:#6610f2;--bs-purple:#6f42c1;--bs-pink:#d63384;--bs-red:#ff5d57;--bs-orange:#fd7e14;--bs-yellow:#ffc107;--bs-green:#198754;--bs-teal:#20c997;--bs-cyan:#0dcaf0;--bs-black:#000;--bs-white:#fff;--bs-gray:#474747;--bs-gray-dark:#333333;--bs-gray-100:#f8f9fa;--bs-gray-200:#e9ecef;--bs-gray-300:#dee2e6;--bs-gray-400:#ced4da;--bs-gray-500:#adb5bd;--bs-gray-600:#474747;--bs-gray-700:#3d3d3d;--bs-gray-800:#333333;--bs-gray-900:#1f1f1f;--bs-primary:#0d6efd;--bs-secondary:#474747;--bs-success:#198754;--bs-info:#0dcaf0;--bs-warning:#ffc107;--bs-danger:#ff5d57;--bs-light:#f8f9fa;--bs-dark:#1f1f1f;--bs-primary-rgb:13,110,253;--bs-secondary-rgb:71,71,71;--bs-success-rgb:25,135,84;--bs-info-rgb:13,202,240;--bs-warning-rgb:255,193,7;--bs-danger-rgb:255,93,87;--bs-light-rgb:248,249,250;--bs-dark-rgb:31,31,31;--bs-white-rgb:255,255,255;--bs-black-rgb:0,0,0;--bs-body-color-rgb:31,31,31;--bs-body-bg-rgb:255,255,255;--bs-font-sans-serif:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans","Liberation Sans",Arial,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));--bs-body-font-family:var(--bs-font-sans-serif);--bs-body-font-size:1rem;--bs-body-font-weight:400;--bs-body-line-height:1.5;--bs-body-color:#1f1f1f;--bs-body-bg:#fff;--bs-border-style:solid;--bs-border-color:#dee2e6;--bs-border-color-translucent:rgba(0, 0, 0, 0.175);--bs-border-radius:0.375rem;--bs-border-radius-sm:0.25rem;--bs-border-radius-lg:0.5rem;--bs-border-radius-xl:1rem;--bs-border-radius-2xl:2rem;--bs-border-radius-pill:50rem;--bs-link-color:#0d6efd;--bs-link-hover-color:#0a58ca;--bs-code-color:#d63384;--bs-highlight-bg:#fff3cd}*,::after,::before{-webkit-box-sizing:border-box;box-sizing:border-box}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:var(--bs-body-font-family);font-size:var(--bs-body-font-size);font-weight:var(--bs-body-font-weight);line-height:var(--bs-body-line-height);color:var(--bs-body-color);text-align:var(--bs-body-text-align);background-color:var(--bs-body-bg);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}.alert-heading,a>code,hr,pre code{color:inherit}hr{margin:1rem 0;border:0;border-top:1px solid;opacity:.25}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2}address,dl,ol,p,ul{margin-bottom:1rem}address,legend{line-height:inherit}.h1,h1{font-size:calc(1.375rem + 1.5vw)}.h2,h2{font-size:calc(1.325rem + .9vw)}.h3,h3{font-size:calc(1.3rem + .6vw)}.h4,h4{font-size:calc(1.275rem + .3vw)}.h5,h5{font-size:1.25rem}.h6,h6{font-size:1rem}dl,ol,p,ul{margin-top:0}abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;text-decoration-skip-ink:none}.btn,.form-control-color:not(:disabled):not([readonly]),.form-control[type=file]:not(:disabled):not([readonly]),[role=button],[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled),summary{cursor:pointer}address{font-style:normal}ol,ul{padding-left:2rem}.accordion-header,.blockquote>:last-child,.card-text:last-child,ol ol,ol ul,ul ol,ul ul{margin-bottom:0}.alert-link,dt{font-weight:700}dd{margin-left:0}blockquote,figure{margin:0 0 1rem}.blockquote,.blockquote-footer,pre{margin-bottom:1rem}b,strong{font-weight:bolder}.small,small{font-size:.875em}.mark,mark{padding:.1875em;background-color:var(--bs-highlight-bg)}sub,sup{position:relative;font-size:.75em;line-height:0}sub{bottom:-.25em}sup{top:-.5em}a{color:var(--bs-link-color);text-decoration:underline}a:hover{color:var(--bs-link-hover-color)}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:var(--bs-font-monospace);font-size:1em}code,kbd,pre{font-size:.875em}pre{display:block;margin-top:0;overflow:auto}pre code{font-size:inherit;word-break:normal}code{color:var(--bs-code-color)}kbd{padding:.1875rem .375rem;color:var(--bs-body-bg);background-color:var(--bs-body-color);border-radius:.25rem}kbd kbd{padding:0;font-size:1em}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:#ced4da;text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}tbody,td,tfoot,th,thead,tr{border:0 solid;border-color:inherit}.figure,.list-inline-item,label,output{display:inline-block}.accordion-flush .accordion-item .accordion-button,.list-group-flush,.modal-fullscreen .modal-footer,.modal-fullscreen .modal-header,button{border-radius:0}fieldset,iframe{border:0}.form-control-plaintext:focus,.form-range:focus,button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}select{word-wrap:normal}[list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator{display:none!important}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0}legend{float:left;width:100%;padding:0;font-size:calc(1.275rem + .3vw)}legend+*{clear:left}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:textfield}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::file-selector-button{font:inherit;-webkit-appearance:button}.display-1,.display-2,.display-3,.display-4,.display-5,.display-6{font-weight:300;line-height:1.2}.form-control,.form-select{-webkit-appearance:none;font-weight:400}summary{display:list-item}.d-none,[hidden]{display:none!important}.input-group,.row{display:-webkit-box;display:-ms-flexbox}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:calc(1.625rem + 4.5vw)}.display-2{font-size:calc(1.575rem + 3.9vw)}.display-3{font-size:calc(1.525rem + 3.3vw)}.display-4{font-size:calc(1.475rem + 2.7vw)}.display-5{font-size:calc(1.425rem + 2.1vw)}.display-6{font-size:calc(1.375rem + 1.5vw)}.list-inline,.list-unstyled{padding-left:0;list-style:none}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:.875em;text-transform:uppercase}.blockquote{font-size:1.25rem}.blockquote-footer,.figure-caption{font-size:.875em;color:#474747}.blockquote-footer{margin-top:-1rem}.blockquote-footer::before{content:"\2014\00A0"}.img-thumbnail{padding:.25rem;background-color:#fff;border:1px solid var(--bs-border-color);border-radius:.375rem}.figure-img{margin-bottom:.5rem;line-height:1}.container,.container-fluid,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{--bs-gutter-x:1.5rem;--bs-gutter-y:0;width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-right:auto;margin-left:auto}@media (min-width:576px){.container,.container-sm{max-width:540px}.col-sm{-webkit-box-flex:1;-ms-flex:1 0 0%;flex:1 0 0%}.col-sm-auto,.row-cols-sm-auto>*{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-sm-12,.row-cols-sm-1>*{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.col-sm-6,.row-cols-sm-2>*{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.col-sm-4,.row-cols-sm-3>*{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:33.33333%}.col-sm-3,.row-cols-sm-4>*{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.row-cols-sm-5>*{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:20%}.col-sm-2,.row-cols-sm-6>*{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:16.66667%}.col-sm-1{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:8.33333%}.col-sm-5{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:41.66667%}.col-sm-7{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:58.33333%}.col-sm-8{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:66.66667%}.col-sm-9{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:75%}.col-sm-10{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:83.33333%}.col-sm-11{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:91.66667%}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.33333%}.offset-sm-2{margin-left:16.66667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.33333%}.offset-sm-5{margin-left:41.66667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.33333%}.offset-sm-8{margin-left:66.66667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.33333%}.offset-sm-11{margin-left:91.66667%}.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){.container,.container-md,.container-sm{max-width:720px}.col-md{-webkit-box-flex:1;-ms-flex:1 0 0%;flex:1 0 0%}.col-md-auto,.row-cols-md-auto>*{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-md-12,.row-cols-md-1>*{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.col-md-6,.row-cols-md-2>*{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.col-md-4,.row-cols-md-3>*{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:33.33333%}.col-md-3,.row-cols-md-4>*{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.row-cols-md-5>*{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:20%}.col-md-2,.row-cols-md-6>*{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:16.66667%}.col-md-1{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:8.33333%}.col-md-5{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:41.66667%}.col-md-7{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:58.33333%}.col-md-8{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:66.66667%}.col-md-9{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:75%}.col-md-10{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:83.33333%}.col-md-11{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:91.66667%}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.33333%}.offset-md-2{margin-left:16.66667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.33333%}.offset-md-5{margin-left:41.66667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.33333%}.offset-md-8{margin-left:66.66667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.33333%}.offset-md-11{margin-left:91.66667%}.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){.container,.container-lg,.container-md,.container-sm{max-width:960px}.col-lg{-webkit-box-flex:1;-ms-flex:1 0 0%;flex:1 0 0%}.col-lg-auto,.row-cols-lg-auto>*{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-lg-12,.row-cols-lg-1>*{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.col-lg-6,.row-cols-lg-2>*{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.col-lg-4,.row-cols-lg-3>*{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:33.33333%}.col-lg-3,.row-cols-lg-4>*{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.row-cols-lg-5>*{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:20%}.col-lg-2,.row-cols-lg-6>*{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:16.66667%}.col-lg-1{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:8.33333%}.col-lg-5{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:41.66667%}.col-lg-7{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:58.33333%}.col-lg-8{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:66.66667%}.col-lg-9{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:75%}.col-lg-10{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:83.33333%}.col-lg-11{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:91.66667%}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.33333%}.offset-lg-2{margin-left:16.66667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.33333%}.offset-lg-5{margin-left:41.66667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.33333%}.offset-lg-8{margin-left:66.66667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.33333%}.offset-lg-11{margin-left:91.66667%}.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){.display-6,.h1,h1{font-size:2.5rem}.h2,h2{font-size:2rem}.h3,h3{font-size:1.75rem}.h4,h4,legend{font-size:1.5rem}.display-1{font-size:5rem}.display-2{font-size:4.5rem}.display-3{font-size:4rem}.display-4{font-size:3.5rem}.display-5{font-size:3rem}.container,.container-lg,.container-md,.container-sm,.container-xl{max-width:1140px}.col-xl{-webkit-box-flex:1;-ms-flex:1 0 0%;flex:1 0 0%}.col-xl-auto,.row-cols-xl-auto>*{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-xl-12,.row-cols-xl-1>*{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.col-xl-6,.row-cols-xl-2>*{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.col-xl-4,.row-cols-xl-3>*{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:33.33333%}.col-xl-3,.row-cols-xl-4>*{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.row-cols-xl-5>*{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:20%}.col-xl-2,.row-cols-xl-6>*{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:16.66667%}.col-xl-1{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:8.33333%}.col-xl-5{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:41.66667%}.col-xl-7{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:58.33333%}.col-xl-8{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:66.66667%}.col-xl-9{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:75%}.col-xl-10{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:83.33333%}.col-xl-11{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:91.66667%}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.33333%}.offset-xl-2{margin-left:16.66667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.33333%}.offset-xl-5{margin-left:41.66667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.33333%}.offset-xl-8{margin-left:66.66667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.33333%}.offset-xl-11{margin-left:91.66667%}.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}}.row{--bs-gutter-x:1.5rem;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-top:calc(-1 * var(--bs-gutter-y));margin-right:calc(-.5 * var(--bs-gutter-x));margin-left:calc(-.5 * var(--bs-gutter-x))}.row>*{-ms-flex-negative:0;flex-shrink:0;width:100%;max-width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-top:var(--bs-gutter-y)}.col{-webkit-box-flex:1;-ms-flex:1 0 0%;flex:1 0 0%}.col-auto,.row-cols-auto>*{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-12,.row-cols-1>*{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.col-6,.row-cols-2>*{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.col-4,.row-cols-3>*{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:33.33333%}.col-3,.row-cols-4>*{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.row-cols-5>*{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:20%}.col-2,.row-cols-6>*{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:16.66667%}.col-1,.col-5{-webkit-box-flex:0}.col-1{-ms-flex:0 0 auto;flex:0 0 auto;width:8.33333%}.col-5{-ms-flex:0 0 auto;flex:0 0 auto;width:41.66667%}.col-7,.col-8{-webkit-box-flex:0}.col-7{-ms-flex:0 0 auto;flex:0 0 auto;width:58.33333%}.col-8{-ms-flex:0 0 auto;flex:0 0 auto;width:66.66667%}.col-10,.col-9{-webkit-box-flex:0}.col-9{-ms-flex:0 0 auto;flex:0 0 auto;width:75%}.col-10{-ms-flex:0 0 auto;flex:0 0 auto;width:83.33333%}.col-11{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:91.66667%}.offset-1{margin-left:8.33333%}.offset-2{margin-left:16.66667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.33333%}.offset-5{margin-left:41.66667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.33333%}.offset-8{margin-left:66.66667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.33333%}.offset-11{margin-left:91.66667%}.g-0,.gx-0{--bs-gutter-x: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}.table{--bs-table-color:var(--bs-body-color);--bs-table-bg:transparent;--bs-table-border-color:var(--bs-border-color);--bs-table-accent-bg:transparent;--bs-table-striped-color:var(--bs-body-color);--bs-table-striped-bg:rgba(0, 0, 0, 0.05);--bs-table-active-color:var(--bs-body-color);--bs-table-active-bg:rgba(0, 0, 0, 0.1);--bs-table-hover-color:var(--bs-body-color);--bs-table-hover-bg:rgba(0, 0, 0, 0.075);width:100%;margin-bottom:1rem;color:var(--bs-table-color);vertical-align:top;border-color:var(--bs-table-border-color)}.table-danger,.table-info,.table-light,.table-primary,.table-secondary,.table-success,.table-warning{--bs-table-color:#000;--bs-table-striped-color:#000;--bs-table-active-color:#000;--bs-table-hover-color:#000}.table>:not(caption)>*>*{padding:.5rem;background-color:var(--bs-table-bg);border-bottom-width:1px;-webkit-box-shadow:inset 0 0 0 9999px var(--bs-table-accent-bg);box-shadow:inset 0 0 0 9999px var(--bs-table-accent-bg)}.table>tbody{vertical-align:inherit}.table>thead{vertical-align:bottom}.table-group-divider{border-top:2px solid currentcolor}.caption-top{caption-side:top}.table-sm>:not(caption)>*>*{padding:.25rem}.form-floating>.form-control-plaintext~label,.table-bordered>:not(caption)>*{border-width:1px 0}.table-bordered>:not(caption)>*>*{border-width:0 1px}.list-group-flush>.list-group-item:last-child,.table-borderless>:not(caption)>*>*{border-bottom-width:0}.list-group-item+.list-group-item,.table-borderless>:not(:first-child){border-top-width:0}.table-striped-columns>:not(caption)>tr>:nth-child(2n),.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-danger,.table-dark,.table-info,.table-light,.table-primary,.table-secondary,.table-success,.table-warning{color:var(--bs-table-color);border-color:var(--bs-table-border-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:#cfe2ff;--bs-table-border-color:#bacbe6;--bs-table-striped-bg:#c5d7f2;--bs-table-active-bg:#bacbe6;--bs-table-hover-bg:#bfd1ec}.table-secondary{--bs-table-bg:#dadada;--bs-table-border-color:#c4c4c4;--bs-table-striped-bg:#cfcfcf;--bs-table-active-bg:#c4c4c4;--bs-table-hover-bg:#cacaca}.table-success{--bs-table-bg:#d1e7dd;--bs-table-border-color:#bcd0c7;--bs-table-striped-bg:#c7dbd2;--bs-table-active-bg:#bcd0c7;--bs-table-hover-bg:#c1d6cc}.table-info{--bs-table-bg:#cff4fc;--bs-table-border-color:#badce3;--bs-table-striped-bg:#c5e8ef;--bs-table-active-bg:#badce3;--bs-table-hover-bg:#bfe2e9}.table-warning{--bs-table-bg:#fff3cd;--bs-table-border-color:#e6dbb9;--bs-table-striped-bg:#f2e7c3;--bs-table-active-bg:#e6dbb9;--bs-table-hover-bg:#ece1be}.table-danger{--bs-table-bg:#ffdfdd;--bs-table-border-color:#e6c9c7;--bs-table-striped-bg:#f2d4d2;--bs-table-active-bg:#e6c9c7;--bs-table-hover-bg:#eccecc}.table-light{--bs-table-bg:#f8f9fa;--bs-table-border-color:#dfe0e1;--bs-table-striped-bg:#ecedee;--bs-table-active-bg:#dfe0e1;--bs-table-hover-bg:#e5e6e7}.table-dark{--bs-table-color:#fff;--bs-table-bg:#1f1f1f;--bs-table-border-color:#353535;--bs-table-striped-bg:#2a2a2a;--bs-table-striped-color:#fff;--bs-table-active-bg:#353535;--bs-table-active-color:#fff;--bs-table-hover-bg:#303030;--bs-table-hover-color:#fff}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}.collapsing,.dropdown-divider,.form-control[type=file]{overflow:hidden}.form-label{margin-bottom:.5rem}.col-form-label{padding-top:calc(.375rem + 1px);padding-bottom:calc(.375rem + 1px);margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(.5rem + 1px);padding-bottom:calc(.5rem + 1px);font-size:1.25rem}.col-form-label-sm{padding-top:calc(.25rem + 1px);padding-bottom:calc(.25rem + 1px);font-size:.875rem}.form-text{margin-top:.25rem;font-size:.875em;color:#ced4da}.form-control,.form-control:focus{color:#1f1f1f;background-color:#fff}.form-control{display:block;width:100%;padding:.375rem .75rem;font-size:1rem;line-height:1.5;background-clip:padding-box;border:1px solid #ced4da;-moz-appearance:none;appearance:none;border-radius:.375rem;-webkit-transition:border-color .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-box-shadow .15s ease-in-out}.form-control:focus{border-color:#86b7fe;outline:0;-webkit-box-shadow:0 0 0 .25rem rgba(13,110,253,.25);box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-control:disabled,.form-select:disabled{background-color:#e9ecef}.form-control::-webkit-date-and-time-value{height:1.5em}.form-control::-webkit-input-placeholder{color:#474747;opacity:1}.form-control:-ms-input-placeholder{color:#474747;opacity:1}.form-control::-ms-input-placeholder{color:#474747;opacity:1}.form-control::placeholder{color:#474747;opacity:1}.form-control-plaintext,.form-select,.input-group-text{line-height:1.5;color:#1f1f1f}.form-control::file-selector-button{padding:.375rem .75rem;margin:-.375rem -.75rem;-webkit-margin-end:.75rem;margin-inline-end:.75rem;color:#1f1f1f;background-color:#e9ecef;pointer-events:none;border:0 solid;border-inline-end-width:1px;border-radius:0;-webkit-transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;border-color:inherit}.form-control:hover:not(:disabled):not([readonly])::file-selector-button{background-color:#dde0e3}.form-control-plaintext{display:block;width:100%;padding:.375rem 0;margin-bottom:0;background-color:transparent;border:solid transparent;border-width:1px 0}.form-check-input,.form-select{background-color:#fff;-moz-appearance:none;background-repeat:no-repeat}.form-control-plaintext.form-control-lg,.form-control-plaintext.form-control-sm{padding-right:0;padding-left:0}.form-control-sm{min-height:calc(1.5em + .5rem + 2px);padding:.25rem .5rem;font-size:.875rem;border-radius:.25rem}.form-control-sm::file-selector-button{padding:.25rem .5rem;margin:-.25rem -.5rem;-webkit-margin-end:.5rem;margin-inline-end:.5rem}.form-control-lg{min-height:calc(1.5em + 1rem + 2px);padding:.5rem 1rem;font-size:1.25rem;border-radius:.5rem}.form-control-lg::file-selector-button{padding:.5rem 1rem;margin:-.5rem -1rem;-webkit-margin-end:1rem;margin-inline-end:1rem}textarea.form-control{min-height:calc(1.5em + .75rem + 2px)}textarea.form-control-sm{min-height:calc(1.5em + .5rem + 2px)}textarea.form-control-lg{min-height:calc(1.5em + 1rem + 2px)}.form-control-color{width:3rem;height:calc(1.5em + .75rem + 2px);padding:.375rem}.form-control-color::-moz-color-swatch{border:0!important;border-radius:.375rem}.form-control-color::-webkit-color-swatch{border-radius:.375rem}.form-control-color.form-control-sm{height:calc(1.5em + .5rem + 2px)}.form-control-color.form-control-lg{height:calc(1.5em + 1rem + 2px)}.form-select{display:block;width:100%;padding:.375rem 2.25rem .375rem .75rem;-moz-padding-start:calc(0.75rem - 3px);font-size:1rem;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='%23333333' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");background-position:right .75rem center;background-size:16px 12px;border:1px solid #ced4da;border-radius:.375rem;-webkit-transition:border-color .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;appearance:none}.form-check-input:focus,.form-select:focus{border-color:#86b7fe;outline:0;-webkit-box-shadow:0 0 0 .25rem rgba(13,110,253,.25);box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-select[multiple],.form-select[size]:not([size="1"]){padding-right:.75rem;background-image:none}.form-select:-moz-focusring{color:transparent;text-shadow:0 0 0 #1f1f1f}.form-select-sm{padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.875rem;border-radius:.25rem}.form-select-lg{padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem;border-radius:.5rem}.form-check{display:block;min-height:1.5rem;padding-left:1.5em;margin-bottom:.125rem}.form-check .form-check-input{float:left;margin-left:-1.5em}.form-check-reverse{padding-right:1.5em;padding-left:0;text-align:right}.form-check-reverse .form-check-input{float:right;margin-right:-1.5em;margin-left:0}.form-check-input{width:1em;height:1em;margin-top:.25em;vertical-align:top;background-position:center;background-size:contain;border:1px solid rgba(0,0,0,.25);-webkit-appearance:none;appearance:none;print-color-adjust:exact}.form-check-input[type=checkbox]{border-radius:.25em}.form-check-input[type=radio]{border-radius:50%}.form-check-input:active{-webkit-filter:brightness(90%);filter:brightness(90%)}.form-check-input:checked{background-color:#0d6efd;border-color:#0d6efd}.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 10 3 3 6-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:#0d6efd;border-color:#0d6efd;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;-webkit-filter:none;filter:none;opacity:.5}.form-check-input:disabled~.form-check-label,.form-check-input[disabled]~.form-check-label{cursor:default;opacity:.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;-webkit-transition:background-position .15s ease-in-out;transition:background-position .15s ease-in-out}.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='%2386b7fe'/%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-switch.form-check-reverse{padding-right:2.5em;padding-left:0}.form-switch.form-check-reverse .form-check-input{margin-right:-2.5em;margin-left:0}.form-check-inline{display:inline-block;margin-right:1rem}.btn-check{clip:rect(0,0,0,0)}.carousel,.dropdown,.dropdown-center,.dropend,.dropstart,.dropup,.dropup-center,.form-floating,.input-group,.input-group .btn{position:relative}.btn-check:disabled+.btn,.btn-check[disabled]+.btn{pointer-events:none;-webkit-filter:none;filter:none;opacity:.65}.form-range{width:100%;height:1.5rem;padding:0;background-color:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none}.form-range:focus::-webkit-slider-thumb{-webkit-box-shadow:0 0 0 1px #fff,0 0 0 .25rem rgba(13,110,253,.25);box-shadow:0 0 0 1px #fff,0 0 0 .25rem rgba(13,110,253,.25)}.form-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem rgba(13,110,253,.25)}.form-range::-moz-focus-outer{border:0}.form-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;background-color:#0d6efd;border:0;border-radius:1rem;-webkit-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;-webkit-appearance:none;appearance:none}.form-range::-webkit-slider-thumb:active{background-color:#b6d4fe}.form-range::-webkit-slider-runnable-track{width:100%;height:.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:#0d6efd;border:0;border-radius:1rem;-webkit-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;-moz-appearance:none;appearance:none}.form-range::-moz-range-thumb:active{background-color:#b6d4fe}.form-range::-moz-range-track{width:100%;height:.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>.form-control,.form-floating>.form-control-plaintext,.form-floating>.form-select{height:calc(3.5rem + 2px);line-height:1.25}.form-floating>label{top:0;left:0;width:100%;height:100%;padding:1rem .75rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border:1px solid transparent;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transition:opacity .1s ease-in-out,-webkit-transform .1s ease-in-out;transition:opacity .1s ease-in-out,transform .1s ease-in-out,-webkit-transform .1s ease-in-out}.form-floating>.form-control,.form-floating>.form-control-plaintext{padding:1rem .75rem}.form-floating>.form-control-plaintext:focus,.form-floating>.form-control-plaintext:not(:placeholder-shown),.form-floating>.form-control:focus,.form-floating>.form-control:not(:placeholder-shown),.form-floating>.form-select{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control-plaintext::-webkit-input-placeholder,.form-floating>.form-control::-webkit-input-placeholder{color:transparent}.form-floating>.form-control-plaintext:-ms-input-placeholder,.form-floating>.form-control:-ms-input-placeholder{color:transparent}.form-floating>.form-control-plaintext::-ms-input-placeholder,.form-floating>.form-control::-ms-input-placeholder{color:transparent}.form-floating>.form-control-plaintext::placeholder,.form-floating>.form-control::placeholder{color:transparent}.form-floating>.form-control-plaintext:-webkit-autofill,.form-floating>.form-control:-webkit-autofill{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control-plaintext~label,.form-floating>.form-control:focus~label,.form-floating>.form-control:not(:placeholder-shown)~label,.form-floating>.form-select~label{opacity:.65;-webkit-transform:scale(.85) translateY(-.5rem) translateX(.15rem);transform:scale(.85) translateY(-.5rem) translateX(.15rem)}.form-floating>.form-control:-webkit-autofill~label{opacity:.65;-webkit-transform:scale(.85) translateY(-.5rem) translateX(.15rem);transform:scale(.85) translateY(-.5rem) translateX(.15rem)}.input-group{display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;width:100%}.btn-toolbar,.input-group-text{display:-webkit-box;display:-ms-flexbox}.input-group>.form-control,.input-group>.form-floating,.input-group>.form-select{position:relative;-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto;width:1%;min-width:0}.input-group>.form-control:focus,.input-group>.form-floating:focus-within,.input-group>.form-select:focus{z-index:3}.input-group .btn{z-index:2}.input-group .btn:focus{z-index:3}.input-group-text{display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:.375rem .75rem;font-size:1rem;font-weight:400;text-align:center;background-color:#e9ecef;border:1px solid #ced4da;border-radius:.375rem}.input-group-lg>.btn,.input-group-lg>.form-control,.input-group-lg>.form-select,.input-group-lg>.input-group-text{padding:.5rem 1rem;font-size:1.25rem;border-radius:.5rem}.input-group-sm>.btn,.input-group-sm>.form-control,.input-group-sm>.form-select,.input-group-sm>.input-group-text{padding:.25rem .5rem;font-size:.875rem;border-radius:.25rem}.alert-dismissible,.input-group-lg>.form-select,.input-group-sm>.form-select{padding-right:3rem}.invalid-tooltip,.valid-tooltip{z-index:5;display:none;padding:.25rem .5rem;border-radius:.375rem;top:100%;position:absolute;max-width:100%}.btn-group>.btn-group:not(:last-child)>.btn,.btn-group>.btn.dropdown-toggle-split:first-child,.btn-group>.btn:not(:last-child):not(.dropdown-toggle),.input-group.has-validation>.dropdown-toggle:nth-last-child(n+4),.input-group.has-validation>.form-floating:nth-last-child(n+3)>.form-control,.input-group.has-validation>.form-floating:nth-last-child(n+3)>.form-select,.input-group.has-validation>:nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),.input-group:not(.has-validation)>.dropdown-toggle:nth-last-child(n+3),.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-control,.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-select,.input-group:not(.has-validation)>:not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating){border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.form-floating:not(:first-child)>.form-control,.input-group>.form-floating:not(:first-child)>.form-select,.input-group>:not(:first-child):not(.dropdown-menu):not(.form-floating):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:.25rem;font-size:.875em;color:#198754}.valid-tooltip{margin-top:.1rem;font-size:.875rem;color:#fff;background-color:rgba(25,135,84,.9)}.is-valid~.valid-feedback,.is-valid~.valid-tooltip,.was-validated :valid~.valid-feedback,.was-validated :valid~.valid-tooltip{display:block}.form-control.is-valid,.was-validated .form-control:valid{border-color:#198754;padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73.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(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-valid:focus,.was-validated .form-control:valid:focus{border-color:#198754;-webkit-box-shadow:0 0 0 .25rem rgba(25,135,84,.25);box-shadow:0 0 0 .25rem rgba(25,135,84,.25)}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.form-select.is-valid,.was-validated .form-select:valid{border-color:#198754}.form-select.is-valid:not([multiple]):not([size]),.form-select.is-valid:not([multiple])[size="1"],.was-validated .form-select:valid:not([multiple]):not([size]),.was-validated .form-select:valid:not([multiple])[size="1"]{padding-right:4.125rem;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='%23333333' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 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='%23198754' d='M2.3 6.73.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 .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.form-select.is-valid:focus,.was-validated .form-select:valid:focus{border-color:#198754;-webkit-box-shadow:0 0 0 .25rem rgba(25,135,84,.25);box-shadow:0 0 0 .25rem rgba(25,135,84,.25)}.form-control-color.is-valid,.was-validated .form-control-color:valid{width:calc(3rem + calc(1.5em + .75rem))}.form-check-input.is-valid,.was-validated .form-check-input:valid{border-color:#198754}.form-check-input.is-valid:checked,.was-validated .form-check-input:valid:checked{background-color:#198754}.form-check-input.is-valid:focus,.was-validated .form-check-input:valid:focus{-webkit-box-shadow:0 0 0 .25rem rgba(25,135,84,.25);box-shadow:0 0 0 .25rem rgba(25,135,84,.25)}.form-check-input.is-valid~.form-check-label,.was-validated .form-check-input:valid~.form-check-label{color:#198754}.form-check-inline .form-check-input~.invalid-feedback,.form-check-inline .form-check-input~.valid-feedback{margin-left:.5em}.input-group .form-control.is-valid,.input-group .form-select.is-valid,.was-validated .input-group .form-control:valid,.was-validated .input-group .form-select:valid{z-index:1}.input-group .form-control.is-valid:focus,.input-group .form-select.is-valid:focus,.was-validated .input-group .form-control:valid:focus,.was-validated .input-group .form-select:valid:focus{z-index:3}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:#ff5d57}.invalid-tooltip{margin-top:.1rem;font-size:.875rem;color:#000;background-color:rgba(255,93,87,.9)}.is-invalid~.invalid-feedback,.is-invalid~.invalid-tooltip,.was-validated :invalid~.invalid-feedback,.was-validated :invalid~.invalid-tooltip{display:block}.form-control.is-invalid,.was-validated .form-control:invalid{border-color:#ff5d57;padding-right:calc(1.5em + .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='%23ff5d57'%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='%23ff5d57' stroke='none'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-invalid:focus,.was-validated .form-control:invalid:focus{border-color:#ff5d57;-webkit-box-shadow:0 0 0 .25rem rgba(255,93,87,.25);box-shadow:0 0 0 .25rem rgba(255,93,87,.25)}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.form-select.is-invalid,.was-validated .form-select:invalid{border-color:#ff5d57}.form-select.is-invalid:not([multiple]):not([size]),.form-select.is-invalid:not([multiple])[size="1"],.was-validated .form-select:invalid:not([multiple]):not([size]),.was-validated .form-select:invalid:not([multiple])[size="1"]{padding-right:4.125rem;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='%23333333' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 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='%23ff5d57'%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='%23ff5d57' stroke='none'/%3e%3c/svg%3e");background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.form-select.is-invalid:focus,.was-validated .form-select:invalid:focus{border-color:#ff5d57;-webkit-box-shadow:0 0 0 .25rem rgba(255,93,87,.25);box-shadow:0 0 0 .25rem rgba(255,93,87,.25)}.form-control-color.is-invalid,.was-validated .form-control-color:invalid{width:calc(3rem + calc(1.5em + .75rem))}.form-check-input.is-invalid,.was-validated .form-check-input:invalid{border-color:#ff5d57}.form-check-input.is-invalid:checked,.was-validated .form-check-input:invalid:checked{background-color:#ff5d57}.form-check-input.is-invalid:focus,.was-validated .form-check-input:invalid:focus{-webkit-box-shadow:0 0 0 .25rem rgba(255,93,87,.25);box-shadow:0 0 0 .25rem rgba(255,93,87,.25)}.form-check-input.is-invalid~.form-check-label,.was-validated .form-check-input:invalid~.form-check-label{color:#ff5d57}.btn-check:focus+.btn,.btn:focus,.btn:hover{color:var(--bs-btn-hover-color);background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color)}.input-group .form-control.is-invalid,.input-group .form-select.is-invalid,.was-validated .input-group .form-control:invalid,.was-validated .input-group .form-select:invalid{z-index:2}.input-group .form-control.is-invalid:focus,.input-group .form-select.is-invalid:focus,.was-validated .input-group .form-control:invalid:focus,.was-validated .input-group .form-select:invalid:focus{z-index:3}.btn{--bs-btn-padding-x:0.75rem;--bs-btn-padding-y:0.375rem;--bs-btn-font-family: ;--bs-btn-font-size:1rem;--bs-btn-line-height:1.5;--bs-btn-color:#1f1f1f;--bs-btn-bg:transparent;--bs-btn-border-width:1px;--bs-btn-border-color:transparent;--bs-btn-border-radius:0.375rem;--bs-btn-box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.15),0 1px 1px rgba(0, 0, 0, 0.075);--bs-btn-disabled-opacity:0.65;--bs-btn-focus-box-shadow:0 0 0 0.25rem rgba(var(--bs-btn-focus-shadow-rgb), .5);display:inline-block;padding:var(--bs-btn-padding-y) var(--bs-btn-padding-x);font-family:var(--bs-btn-font-family);font-size:var(--bs-btn-font-size);font-weight:var(--bs-btn-font-weight);line-height:var(--bs-btn-line-height);color:var(--bs-btn-color);text-align:center;text-decoration:none;vertical-align:middle;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border:var(--bs-btn-border-width) solid var(--bs-btn-border-color);border-radius:var(--bs-btn-border-radius);background-color:var(--bs-btn-bg);-webkit-transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-box-shadow .15s ease-in-out}.btn-primary,.btn-secondary,.btn-success{--bs-btn-color:#fff;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-hover-color:#fff;--bs-btn-active-color:#fff}.btn-check:focus+.btn,.btn:focus{outline:0;-webkit-box-shadow:var(--bs-btn-focus-box-shadow);box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:active+.btn,.btn-check:checked+.btn,.btn.active,.btn.show,.btn:active{color:var(--bs-btn-active-color);background-color:var(--bs-btn-active-bg);border-color:var(--bs-btn-active-border-color)}.btn-check:active+.btn:focus,.btn-check:checked+.btn:focus,.btn.active:focus,.btn.show:focus,.btn:active:focus{-webkit-box-shadow:var(--bs-btn-focus-box-shadow);box-shadow:var(--bs-btn-focus-box-shadow)}.btn.disabled,.btn:disabled,fieldset:disabled .btn{color:var(--bs-btn-disabled-color);pointer-events:none;background-color:var(--bs-btn-disabled-bg);border-color:var(--bs-btn-disabled-border-color);opacity:var(--bs-btn-disabled-opacity)}.dropdown-toggle::after,.dropup .dropdown-toggle::after{vertical-align:.255em;content:"";border-right:.3em solid transparent;border-left:.3em solid transparent}.btn-primary{--bs-btn-bg:#0d6efd;--bs-btn-border-color:#0d6efd;--bs-btn-hover-bg:#0b5ed7;--bs-btn-hover-border-color:#0a58ca;--bs-btn-focus-shadow-rgb:49,132,253;--bs-btn-active-bg:#0a58ca;--bs-btn-active-border-color:#0a53be;--bs-btn-disabled-bg:#0d6efd;--bs-btn-disabled-border-color:#0d6efd}.btn-secondary{--bs-btn-bg:#474747;--bs-btn-border-color:#474747;--bs-btn-hover-bg:#3c3c3c;--bs-btn-hover-border-color:#393939;--bs-btn-focus-shadow-rgb:99,99,99;--bs-btn-active-bg:#393939;--bs-btn-active-border-color:#353535;--bs-btn-disabled-bg:#474747;--bs-btn-disabled-border-color:#474747}.btn-success{--bs-btn-bg:#198754;--bs-btn-border-color:#198754;--bs-btn-hover-bg:#157347;--bs-btn-hover-border-color:#146c43;--bs-btn-focus-shadow-rgb:60,153,110;--bs-btn-active-bg:#146c43;--bs-btn-active-border-color:#13653f;--bs-btn-disabled-bg:#198754;--bs-btn-disabled-border-color:#198754}.btn-danger,.btn-info,.btn-light,.btn-warning{--bs-btn-color:#000;--bs-btn-hover-color:#000;--bs-btn-active-color:#000;--bs-btn-disabled-color:#000;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125)}.btn-info{--bs-btn-bg:#0dcaf0;--bs-btn-border-color:#0dcaf0;--bs-btn-hover-bg:#31d2f2;--bs-btn-hover-border-color:#25cff2;--bs-btn-focus-shadow-rgb:11,172,204;--bs-btn-active-bg:#3dd5f3;--bs-btn-active-border-color:#25cff2;--bs-btn-disabled-bg:#0dcaf0;--bs-btn-disabled-border-color:#0dcaf0}.btn-warning{--bs-btn-bg:#ffc107;--bs-btn-border-color:#ffc107;--bs-btn-hover-bg:#ffca2c;--bs-btn-hover-border-color:#ffc720;--bs-btn-focus-shadow-rgb:217,164,6;--bs-btn-active-bg:#ffcd39;--bs-btn-active-border-color:#ffc720;--bs-btn-disabled-bg:#ffc107;--bs-btn-disabled-border-color:#ffc107}.btn-danger{--bs-btn-bg:#ff5d57;--bs-btn-border-color:#ff5d57;--bs-btn-hover-bg:#ff7570;--bs-btn-hover-border-color:#ff6d68;--bs-btn-focus-shadow-rgb:217,79,74;--bs-btn-active-bg:#ff7d79;--bs-btn-active-border-color:#ff6d68;--bs-btn-disabled-bg:#ff5d57;--bs-btn-disabled-border-color:#ff5d57}.btn-light{--bs-btn-bg:#f8f9fa;--bs-btn-border-color:#f8f9fa;--bs-btn-hover-bg:#d3d4d5;--bs-btn-hover-border-color:#c6c7c8;--bs-btn-focus-shadow-rgb:211,212,213;--bs-btn-active-bg:#c6c7c8;--bs-btn-active-border-color:#babbbc;--bs-btn-disabled-bg:#f8f9fa;--bs-btn-disabled-border-color:#f8f9fa}.btn-dark{--bs-btn-color:#fff;--bs-btn-bg:#1f1f1f;--bs-btn-border-color:#1f1f1f;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#414141;--bs-btn-hover-border-color:#353535;--bs-btn-focus-shadow-rgb:65,65,65;--bs-btn-active-color:#fff;--bs-btn-active-bg:#4c4c4c;--bs-btn-active-border-color:#353535;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#1f1f1f;--bs-btn-disabled-border-color:#1f1f1f}.btn-outline-primary,.btn-outline-secondary{--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-bg:transparent;--bs-gradient:none;--bs-btn-hover-color:#fff;--bs-btn-active-color:#fff}.btn-outline-primary{--bs-btn-color:#0d6efd;--bs-btn-border-color:#0d6efd;--bs-btn-hover-bg:#0d6efd;--bs-btn-hover-border-color:#0d6efd;--bs-btn-focus-shadow-rgb:13,110,253;--bs-btn-active-bg:#0d6efd;--bs-btn-active-border-color:#0d6efd;--bs-btn-disabled-color:#0d6efd;--bs-btn-disabled-border-color:#0d6efd}.btn-outline-secondary{--bs-btn-color:#474747;--bs-btn-border-color:#474747;--bs-btn-hover-bg:#474747;--bs-btn-hover-border-color:#474747;--bs-btn-focus-shadow-rgb:71,71,71;--bs-btn-active-bg:#474747;--bs-btn-active-border-color:#474747;--bs-btn-disabled-color:#474747;--bs-btn-disabled-border-color:#474747}.btn-outline-success{--bs-btn-color:#198754;--bs-btn-border-color:#198754;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#198754;--bs-btn-hover-border-color:#198754;--bs-btn-focus-shadow-rgb:25,135,84;--bs-btn-active-color:#fff;--bs-btn-active-bg:#198754;--bs-btn-active-border-color:#198754;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#198754;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#198754;--bs-gradient:none}.btn-outline-danger,.btn-outline-info,.btn-outline-light,.btn-outline-warning{--bs-btn-hover-color:#000;--bs-btn-active-color:#000;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-bg:transparent;--bs-gradient:none}.btn-outline-info{--bs-btn-color:#0dcaf0;--bs-btn-border-color:#0dcaf0;--bs-btn-hover-bg:#0dcaf0;--bs-btn-hover-border-color:#0dcaf0;--bs-btn-focus-shadow-rgb:13,202,240;--bs-btn-active-bg:#0dcaf0;--bs-btn-active-border-color:#0dcaf0;--bs-btn-disabled-color:#0dcaf0;--bs-btn-disabled-border-color:#0dcaf0}.btn-outline-warning{--bs-btn-color:#ffc107;--bs-btn-border-color:#ffc107;--bs-btn-hover-bg:#ffc107;--bs-btn-hover-border-color:#ffc107;--bs-btn-focus-shadow-rgb:255,193,7;--bs-btn-active-bg:#ffc107;--bs-btn-active-border-color:#ffc107;--bs-btn-disabled-color:#ffc107;--bs-btn-disabled-border-color:#ffc107}.btn-outline-danger{--bs-btn-color:#ff5d57;--bs-btn-border-color:#ff5d57;--bs-btn-hover-bg:#ff5d57;--bs-btn-hover-border-color:#ff5d57;--bs-btn-focus-shadow-rgb:255,93,87;--bs-btn-active-bg:#ff5d57;--bs-btn-active-border-color:#ff5d57;--bs-btn-disabled-color:#ff5d57;--bs-btn-disabled-border-color:#ff5d57}.btn-outline-light{--bs-btn-color:#f8f9fa;--bs-btn-border-color:#f8f9fa;--bs-btn-hover-bg:#f8f9fa;--bs-btn-hover-border-color:#f8f9fa;--bs-btn-focus-shadow-rgb:248,249,250;--bs-btn-active-bg:#f8f9fa;--bs-btn-active-border-color:#f8f9fa;--bs-btn-disabled-color:#f8f9fa;--bs-btn-disabled-border-color:#f8f9fa}.btn-outline-dark{--bs-btn-color:#1f1f1f;--bs-btn-border-color:#1f1f1f;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#1f1f1f;--bs-btn-hover-border-color:#1f1f1f;--bs-btn-focus-shadow-rgb:31,31,31;--bs-btn-active-color:#fff;--bs-btn-active-bg:#1f1f1f;--bs-btn-active-border-color:#1f1f1f;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#1f1f1f;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#1f1f1f;--bs-gradient:none}.btn-link{--bs-btn-color:var(--bs-link-color);--bs-btn-bg:transparent;--bs-btn-border-color:transparent;--bs-btn-hover-color:var(--bs-link-hover-color);--bs-btn-hover-border-color:transparent;--bs-btn-active-color:var(--bs-link-hover-color);--bs-btn-active-border-color:transparent;--bs-btn-disabled-color:#474747;--bs-btn-disabled-border-color:transparent;--bs-btn-box-shadow:none;--bs-btn-focus-shadow-rgb:49,132,253;text-decoration:underline}.dropdown-item,.nav-link,.navbar-brand,.navbar-toggler:focus,.navbar-toggler:hover,.page-link{text-decoration:none}.btn-link:focus{color:var(--bs-btn-color)}.btn-link:hover{color:var(--bs-btn-hover-color)}.btn-group-lg>.btn,.btn-lg{--bs-btn-padding-y:0.5rem;--bs-btn-padding-x:1rem;--bs-btn-font-size:1.25rem;--bs-btn-border-radius:0.5rem}.btn-group-sm>.btn,.btn-sm{--bs-btn-padding-y:0.25rem;--bs-btn-padding-x:0.5rem;--bs-btn-font-size:0.875rem;--bs-btn-border-radius:0.25rem}.fade{-webkit-transition:opacity .15s linear;transition:opacity .15s linear}.fade:not(.show),.modal-backdrop.fade,.offcanvas-backdrop.fade,.toast.showing{opacity:0}.badge:empty,.collapse:not(.show),.navbar-expand .navbar-toggler,.navbar-expand .offcanvas .offcanvas-header,.popover-header:empty,.tab-content>.tab-pane,.toast:not(.show){display:none}.collapsing{height:0;-webkit-transition:height .35s;transition:height .35s}.collapsing.collapse-horizontal{width:0;height:auto;-webkit-transition:width .35s;transition:width .35s}.dropdown-toggle::after{display:inline-block;margin-left:.255em;border-top:.3em solid;border-bottom:0}.card>hr,.dropdown-toggle-split::after,.dropdown-toggle:empty::after,.dropend .dropdown-toggle-split::after,.dropend .dropdown-toggle:empty::after,.dropstart .dropdown-toggle:empty::after,.dropup .dropdown-toggle-split::after,.dropup .dropdown-toggle:empty::after{margin-left:0}.dropdown-menu{--bs-dropdown-min-width:10rem;--bs-dropdown-padding-x:0;--bs-dropdown-padding-y:0.5rem;--bs-dropdown-spacer:0.125rem;--bs-dropdown-font-size:1rem;--bs-dropdown-color:#1f1f1f;--bs-dropdown-bg:#fff;--bs-dropdown-border-radius:0.375rem;--bs-dropdown-border-width:1px;--bs-dropdown-inner-border-radius:calc(0.375rem - 1px);--bs-dropdown-divider-margin-y:0.5rem;--bs-dropdown-box-shadow:0 0.5rem 1rem rgba(0, 0, 0, 0.15);--bs-dropdown-link-color:#1f1f1f;--bs-dropdown-link-hover-color:#1c1c1c;--bs-dropdown-link-hover-bg:#e9ecef;--bs-dropdown-item-padding-x:1rem;--bs-dropdown-item-padding-y:0.25rem;--bs-dropdown-header-color:#474747;--bs-dropdown-header-padding-x:1rem;--bs-dropdown-header-padding-y:0.5rem;position:absolute;z-index:1000;display:none;min-width:var(--bs-dropdown-min-width);padding:var(--bs-dropdown-padding-y) var(--bs-dropdown-padding-x);margin:0;font-size:var(--bs-dropdown-font-size);color:var(--bs-dropdown-color);text-align:left;background-color:var(--bs-dropdown-bg);background-clip:padding-box;border:var(--bs-dropdown-border-width) solid var(--bs-dropdown-border-color);border-radius:var(--bs-dropdown-border-radius)}.dropdown-menu[data-bs-popper]{top:100%;left:0;margin-top:var(--bs-dropdown-spacer)}.dropdown-menu-start{--bs-position:start}.dropdown-menu-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-end{--bs-position:end}.dropdown-menu-end[data-bs-popper]{right:0;left:auto}.dropup .dropdown-menu[data-bs-popper]{top:auto;bottom:100%;margin-top:0;margin-bottom:var(--bs-dropdown-spacer)}.dropup .dropdown-toggle::after{display:inline-block;margin-left:.255em;border-top:0;border-bottom:.3em solid}.dropend .dropdown-toggle::after,.dropstart .dropdown-toggle::before{border-top:.3em solid transparent;border-bottom:.3em solid transparent;content:""}.dropend .dropdown-menu[data-bs-popper]{top:0;right:auto;left:100%;margin-top:0;margin-left:var(--bs-dropdown-spacer)}.dropend .dropdown-toggle::after{display:inline-block;margin-left:.255em;border-right:0;border-left:.3em solid;vertical-align:0}.dropstart .dropdown-menu[data-bs-popper]{top:0;right:100%;left:auto;margin-top:0;margin-right:var(--bs-dropdown-spacer)}.dropstart .dropdown-toggle::after{margin-left:.255em;vertical-align:.255em;content:"";display:none}.dropstart .dropdown-toggle::before{display:inline-block;margin-right:.255em;border-right:.3em solid;vertical-align:0}.card>hr,.dropstart .dropdown-toggle-split::before{margin-right:0}.dropdown-divider{height:0;margin:var(--bs-dropdown-divider-margin-y) 0;border-top:1px solid var(--bs-dropdown-divider-bg);opacity:1}.dropdown-item{display:block;width:100%;padding:var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);clear:both;font-weight:400;color:var(--bs-dropdown-link-color);text-align:inherit;background-color:transparent;border:0}.dropdown-item:focus,.dropdown-item:hover{color:var(--bs-dropdown-link-hover-color);background-color:var(--bs-dropdown-link-hover-bg)}.dropdown-item.active,.dropdown-item:active{color:var(--bs-dropdown-link-active-color);text-decoration:none;background-color:var(--bs-dropdown-link-active-bg)}.dropdown-item.disabled,.dropdown-item:disabled{color:var(--bs-dropdown-link-disabled-color);pointer-events:none;background-color:transparent}.carousel-item-next,.carousel-item-prev,.carousel-item.active,.dropdown-menu.show,.tab-content>.active{display:block}.dropdown-header{display:block;padding:var(--bs-dropdown-header-padding-y) var(--bs-dropdown-header-padding-x);margin-bottom:0;font-size:.875rem;color:var(--bs-dropdown-header-color)}.dropdown-item-text{display:block;padding:var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);color:var(--bs-dropdown-link-color)}.dropdown-menu-dark{--bs-dropdown-color:#dee2e6;--bs-dropdown-bg:#333333;--bs-dropdown-box-shadow: ;--bs-dropdown-link-color:#dee2e6;--bs-dropdown-link-hover-color:#fff;--bs-dropdown-link-hover-bg:rgba(255, 255, 255, 0.15);--bs-dropdown-header-color:#adb5bd}.btn-group,.btn-group-vertical{position:relative;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto}.btn-group-vertical>.btn-check:checked+.btn,.btn-group-vertical>.btn-check:focus+.btn,.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn-check:checked+.btn,.btn-group>.btn-check:focus+.btn,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:1}.btn-toolbar{display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.nav,.navbar{display:-webkit-box;display:-ms-flexbox}.btn-toolbar .input-group{width:auto}.btn-group{border-radius:.375rem}.btn-group>.btn-group:not(:first-child),.btn-group>.btn:not(:first-child),.page-item:not(:first-child) .page-link{margin-left:-1px}.btn-group>.btn-group:not(:first-child)>.btn,.btn-group>.btn:nth-child(n+3),.btn-group>:not(.btn-check)+.btn{border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}.btn-group-sm>.btn+.dropdown-toggle-split,.btn-sm+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-group-lg>.btn+.dropdown-toggle-split,.btn-lg+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical{-ms-flex-direction:column;flex-direction:column;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.card-img,.card-img-bottom,.card-img-top,.nav-fill .nav-item .nav-link,.nav-justified .nav-item .nav-link{width:100%}.btn-group-vertical>.btn-group:not(:first-child),.btn-group-vertical>.btn:not(:first-child){margin-top:-1px}.btn-group-vertical>.btn-group:not(:last-child)>.btn,.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child)>.btn,.btn-group-vertical>.btn~.btn{border-top-left-radius:0;border-top-right-radius:0}.nav{--bs-nav-link-padding-x:1rem;--bs-nav-link-color:var(--bs-link-color);--bs-nav-link-hover-color:var(--bs-link-hover-color);--bs-nav-link-disabled-color:#474747;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;padding-left:0;margin-bottom:0}.nav-link{display:block;padding:var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);font-size:var(--bs-nav-link-font-size);font-weight:var(--bs-nav-link-font-weight);color:var(--bs-nav-link-color);-webkit-transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out}.nav-link:focus,.nav-link:hover{color:var(--bs-nav-link-hover-color)}.nav-link.disabled{color:var(--bs-nav-link-disabled-color);pointer-events:none;cursor:default}.nav-tabs{--bs-nav-tabs-border-width:1px;--bs-nav-tabs-border-color:rgba(255, 255, 255, 0.1);--bs-nav-tabs-border-radius:0.375rem;--bs-nav-tabs-link-hover-border-color:#e9ecef #e9ecef rgba(255, 255, 255, 0.1);--bs-nav-tabs-link-active-color:white;--bs-nav-tabs-link-active-bg:#333333;--bs-nav-tabs-link-active-border-color:rgba(255, 255, 255, 0.1);border-bottom:var(--bs-nav-tabs-border-width) solid var(--bs-nav-tabs-border-color)}.nav-tabs .nav-link{margin-bottom:calc(var(--bs-nav-tabs-border-width) * -1);background:0 0;border:var(--bs-nav-tabs-border-width) solid transparent;border-top-left-radius:var(--bs-nav-tabs-border-radius);border-top-right-radius:var(--bs-nav-tabs-border-radius)}.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{isolation:isolate;border-color:var(--bs-nav-tabs-link-hover-border-color)}.nav-pills .nav-link:disabled,.nav-tabs .nav-link.disabled,.nav-tabs .nav-link:disabled{color:var(--bs-nav-link-disabled-color);background-color:transparent;border-color:transparent}.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{color:var(--bs-nav-tabs-link-active-color);background-color:var(--bs-nav-tabs-link-active-bg);border-color:var(--bs-nav-tabs-link-active-border-color)}.nav-tabs .dropdown-menu{margin-top:calc(var(--bs-nav-tabs-border-width) * -1);border-top-left-radius:0;border-top-right-radius:0}.nav-pills{--bs-nav-pills-border-radius:0.375rem;--bs-nav-pills-link-active-color:#fff;--bs-nav-pills-link-active-bg:#0d6efd}.nav-pills .nav-link{background:0 0;border:0;border-radius:var(--bs-nav-pills-border-radius)}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:var(--bs-nav-pills-link-active-color);background-color:var(--bs-nav-pills-link-active-bg)}.nav-fill .nav-item,.nav-fill>.nav-link{-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto;text-align:center}.nav-justified .nav-item,.nav-justified>.nav-link{-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;text-align:center}.navbar{--bs-navbar-padding-x:0;--bs-navbar-padding-y:0.5rem;--bs-navbar-color:rgba(0, 0, 0, 0.55);--bs-navbar-hover-color:rgba(0, 0, 0, 0.7);--bs-navbar-disabled-color:rgba(0, 0, 0, 0.3);--bs-navbar-active-color:rgba(0, 0, 0, 0.9);--bs-navbar-brand-padding-y:0.3125rem;--bs-navbar-brand-margin-end:1rem;--bs-navbar-brand-font-size:1.25rem;--bs-navbar-brand-color:rgba(0, 0, 0, 0.9);--bs-navbar-brand-hover-color:rgba(0, 0, 0, 0.9);--bs-navbar-nav-link-padding-x:0.5rem;--bs-navbar-toggler-padding-y:0.25rem;--bs-navbar-toggler-padding-x:0.75rem;--bs-navbar-toggler-font-size:1.25rem;--bs-navbar-toggler-icon-bg: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");--bs-navbar-toggler-border-color:rgba(0, 0, 0, 0.1);--bs-navbar-toggler-border-radius:0.375rem;--bs-navbar-toggler-focus-width:0.25rem;--bs-navbar-toggler-transition:box-shadow 0.15s ease-in-out;position:relative;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;padding:var(--bs-navbar-padding-y) var(--bs-navbar-padding-x)}.navbar>.container,.navbar>.container-fluid,.navbar>.container-lg,.navbar>.container-md,.navbar>.container-sm,.navbar>.container-xl,.navbar>.container-xxl{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:inherit;flex-wrap:inherit;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.navbar-brand{padding-top:var(--bs-navbar-brand-padding-y);padding-bottom:var(--bs-navbar-brand-padding-y);margin-right:var(--bs-navbar-brand-margin-end);font-size:var(--bs-navbar-brand-font-size);color:var(--bs-navbar-brand-color)}.card-header-pills,.card-header-tabs{margin-right:calc(-.5 * var(--bs-card-cap-padding-x));margin-left:calc(-.5 * var(--bs-card-cap-padding-x))}.navbar-text,.navbar-toggler{color:var(--bs-navbar-color)}.navbar-brand:focus,.navbar-brand:hover{color:var(--bs-navbar-brand-hover-color)}.navbar-nav{--bs-nav-link-padding-x:0;--bs-nav-link-color:var(--bs-navbar-color);--bs-nav-link-hover-color:var(--bs-navbar-hover-color);--bs-nav-link-disabled-color:var(--bs-navbar-disabled-color);display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;padding-left:0;margin-bottom:0}.navbar-nav .nav-link.active,.navbar-nav .show>.nav-link,.navbar-text a,.navbar-text a:focus,.navbar-text a:hover{color:var(--bs-navbar-active-color)}.navbar-nav .dropdown-menu{position:static}.navbar-text{padding-top:.5rem;padding-bottom:.5rem}.navbar-collapse{-ms-flex-preferred-size:100%;flex-basis:100%;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.navbar-toggler{padding:var(--bs-navbar-toggler-padding-y) var(--bs-navbar-toggler-padding-x);font-size:var(--bs-navbar-toggler-font-size);line-height:1;background-color:transparent;border:var(--bs-border-width) solid var(--bs-navbar-toggler-border-color);border-radius:var(--bs-navbar-toggler-border-radius);-webkit-transition:var(--bs-navbar-toggler-transition);transition:var(--bs-navbar-toggler-transition)}.navbar-toggler:focus{outline:0;-webkit-box-shadow:0 0 0 var(--bs-navbar-toggler-focus-width);box-shadow:0 0 0 var(--bs-navbar-toggler-focus-width)}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;background-image:var(--bs-navbar-toggler-icon-bg);background-repeat:no-repeat;background-position:center;background-size:100%}.navbar-nav-scroll{max-height:var(--bs-scroll-height,75vh);overflow-y:auto}.navbar-expand{-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.list-group-horizontal,.navbar-expand .navbar-nav{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand .navbar-nav-scroll{overflow:visible}.navbar-expand .navbar-collapse{display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand .offcanvas{position:static;z-index:auto;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;-webkit-transform:none!important;transform:none!important;-webkit-transition:none;transition:none}.navbar-expand .offcanvas .offcanvas-body{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;padding:0;overflow-y:visible}.card,.progress-bar{-ms-flex-direction:column}.navbar-dark{--bs-navbar-color:rgba(255, 255, 255, 0.55);--bs-navbar-hover-color:rgba(255, 255, 255, 0.75);--bs-navbar-disabled-color:rgba(255, 255, 255, 0.25);--bs-navbar-active-color:#fff;--bs-navbar-brand-color:#fff;--bs-navbar-brand-hover-color:#fff;--bs-navbar-toggler-border-color:rgba(255, 255, 255, 0.1);--bs-navbar-toggler-icon-bg: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")}.card{--bs-card-spacer-y:1rem;--bs-card-spacer-x:1rem;--bs-card-title-spacer-y:0.5rem;--bs-card-border-width:1px;--bs-card-border-color:rgba(255, 255, 255, 0.1);--bs-card-border-radius:0.375rem;--bs-card-box-shadow: ;--bs-card-inner-border-radius:calc(0.375rem - 1px);--bs-card-cap-padding-y:0.5rem;--bs-card-cap-padding-x:1rem;--bs-card-cap-bg:#333333;--bs-card-cap-color:white;--bs-card-height: ;--bs-card-color:white;--bs-card-bg:#3d3d3d;--bs-card-img-overlay-padding:1rem;--bs-card-group-margin:0.75rem;position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;flex-direction:column;min-width:0;height:var(--bs-card-height);background-color:var(--bs-card-bg);background-clip:border-box;border:var(--bs-card-border-width) solid var(--bs-card-border-color);border-radius:var(--bs-card-border-radius)}.card-img,.card-img-top,.card>.list-group:first-child{border-top-left-radius:var(--bs-card-inner-border-radius);border-top-right-radius:var(--bs-card-inner-border-radius)}.card-img,.card-img-bottom,.card>.list-group:last-child{border-bottom-right-radius:var(--bs-card-inner-border-radius);border-bottom-left-radius:var(--bs-card-inner-border-radius)}.card>.list-group{border-top:inherit;border-bottom:inherit}.card>.list-group:first-child{border-top-width:0}.card>.list-group:last-child{border-bottom-width:0}.accordion-flush .accordion-item:first-child,.accordion-item:not(:first-of-type),.card>.card-header+.list-group,.card>.list-group+.card-footer{border-top:0}.card-body{-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto;padding:var(--bs-card-spacer-y) var(--bs-card-spacer-x);color:var(--bs-card-color)}.card-footer,.card-header{padding:var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);color:var(--bs-card-cap-color);background-color:var(--bs-card-cap-bg)}.card-title{margin-bottom:var(--bs-card-title-spacer-y)}.card-subtitle{margin-top:calc(-.5 * var(--bs-card-title-spacer-y));margin-bottom:0}.card-link+.card-link{margin-left:var(--bs-card-spacer-x)}.card-header{margin-bottom:0;border-bottom:var(--bs-card-border-width) solid var(--bs-card-border-color)}.card-header:first-child{border-radius:var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius) 0 0}.card-footer{border-top:var(--bs-card-border-width) solid var(--bs-card-border-color)}.card-footer:last-child{border-radius:0 0 var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius)}.card-header-tabs{margin-bottom:calc(-1 * var(--bs-card-cap-padding-y));border-bottom:0}.card-header-tabs .nav-link.active{background-color:var(--bs-card-bg);border-bottom-color:var(--bs-card-bg)}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:var(--bs-card-img-overlay-padding);border-radius:var(--bs-card-inner-border-radius)}.accordion-button,.alert,.btn .badge,.list-group-item,.page-link{position:relative}.card-group>.card{margin-bottom:var(--bs-card-group-margin)}.accordion-button,.breadcrumb{display:-webkit-box;display:-ms-flexbox}.list-group,.progress-bar{-webkit-box-orient:vertical;-webkit-box-direction:normal}.accordion{--bs-accordion-color:#000;--bs-accordion-bg:#fff;--bs-accordion-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;--bs-accordion-border-color:var(--bs-border-color);--bs-accordion-border-width:1px;--bs-accordion-border-radius:0.375rem;--bs-accordion-inner-border-radius:calc(0.375rem - 1px);--bs-accordion-btn-padding-x:1.25rem;--bs-accordion-btn-padding-y:1rem;--bs-accordion-btn-color:var(--bs-body-color);--bs-accordion-btn-bg:var(--bs-accordion-bg);--bs-accordion-btn-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='var%28--bs-body-color%29'%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");--bs-accordion-btn-icon-width:1.25rem;--bs-accordion-btn-icon-transform:rotate(-180deg);--bs-accordion-btn-icon-transition:transform 0.2s ease-in-out;--bs-accordion-btn-active-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%230c63e4'%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");--bs-accordion-btn-focus-border-color:#86b7fe;--bs-accordion-btn-focus-box-shadow:0 0 0 0.25rem rgba(13, 110, 253, 0.25);--bs-accordion-body-padding-x:1.25rem;--bs-accordion-body-padding-y:1rem;--bs-accordion-active-color:#0c63e4;--bs-accordion-active-bg:#e7f1ff}.accordion-button{display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:100%;padding:var(--bs-accordion-btn-padding-y) var(--bs-accordion-btn-padding-x);font-size:1rem;color:var(--bs-accordion-btn-color);text-align:left;background-color:var(--bs-accordion-btn-bg);border:0;border-radius:0;overflow-anchor:none;-webkit-transition:var(--bs-accordion-transition);transition:var(--bs-accordion-transition)}.badge,.progress-bar{text-align:center;white-space:nowrap}.accordion-button:not(.collapsed){color:var(--bs-accordion-active-color);background-color:var(--bs-accordion-active-bg);-webkit-box-shadow:inset 0 calc(var(--bs-accordion-border-width) * -1) 0 var(--bs-accordion-border-color);box-shadow:inset 0 calc(var(--bs-accordion-border-width) * -1) 0 var(--bs-accordion-border-color)}.accordion-button:not(.collapsed)::after{background-image:var(--bs-accordion-btn-active-icon);-webkit-transform:var(--bs-accordion-btn-icon-transform);transform:var(--bs-accordion-btn-icon-transform)}.accordion-button::after{-ms-flex-negative:0;flex-shrink:0;width:var(--bs-accordion-btn-icon-width);height:var(--bs-accordion-btn-icon-width);margin-left:auto;content:"";background-image:var(--bs-accordion-btn-icon);background-repeat:no-repeat;background-size:var(--bs-accordion-btn-icon-width);-webkit-transition:var(--bs-accordion-btn-icon-transition);transition:var(--bs-accordion-btn-icon-transition)}.accordion-button:hover{z-index:2}.accordion-button:focus{z-index:3;border-color:var(--bs-accordion-btn-focus-border-color);outline:0;-webkit-box-shadow:var(--bs-accordion-btn-focus-box-shadow);box-shadow:var(--bs-accordion-btn-focus-box-shadow)}.accordion-item{color:var(--bs-accordion-color);background-color:var(--bs-accordion-bg);border:var(--bs-accordion-border-width) solid var(--bs-accordion-border-color)}.accordion-item:first-of-type{border-top-left-radius:var(--bs-accordion-border-radius);border-top-right-radius:var(--bs-accordion-border-radius)}.accordion-item:first-of-type .accordion-button{border-top-left-radius:var(--bs-accordion-inner-border-radius);border-top-right-radius:var(--bs-accordion-inner-border-radius)}.accordion-item:last-of-type,.accordion-item:last-of-type .accordion-collapse{border-bottom-right-radius:var(--bs-accordion-border-radius);border-bottom-left-radius:var(--bs-accordion-border-radius)}.accordion-item:last-of-type .accordion-button.collapsed{border-bottom-right-radius:var(--bs-accordion-inner-border-radius);border-bottom-left-radius:var(--bs-accordion-inner-border-radius)}.accordion-body{padding:var(--bs-accordion-body-padding-y) var(--bs-accordion-body-padding-x)}.accordion-flush .accordion-collapse{border-width:0}.accordion-flush .accordion-item{border-right:0;border-left:0;border-radius:0}.accordion-flush .accordion-item:last-child{border-bottom:0}.breadcrumb{--bs-breadcrumb-padding-x:0;--bs-breadcrumb-padding-y:0;--bs-breadcrumb-margin-bottom:1rem;--bs-breadcrumb-bg: ;--bs-breadcrumb-border-radius: ;--bs-breadcrumb-divider-color:#474747;--bs-breadcrumb-item-padding-x:0.5rem;--bs-breadcrumb-item-active-color:#474747;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;padding:var(--bs-breadcrumb-padding-y) var(--bs-breadcrumb-padding-x);margin-bottom:var(--bs-breadcrumb-margin-bottom);font-size:var(--bs-breadcrumb-font-size);background-color:var(--bs-breadcrumb-bg);border-radius:var(--bs-breadcrumb-border-radius)}.breadcrumb-item+.breadcrumb-item{padding-left:var(--bs-breadcrumb-item-padding-x)}.breadcrumb-item+.breadcrumb-item::before{float:left;padding-right:var(--bs-breadcrumb-item-padding-x);color:var(--bs-breadcrumb-divider-color);content:var(--bs-breadcrumb-divider, "/")}.breadcrumb-item.active{color:var(--bs-breadcrumb-item-active-color)}.pagination{--bs-pagination-padding-x:0.75rem;--bs-pagination-padding-y:0.375rem;--bs-pagination-font-size:1rem;--bs-pagination-color:var(--bs-link-color);--bs-pagination-bg:#fff;--bs-pagination-border-width:1px;--bs-pagination-border-color:#dee2e6;--bs-pagination-border-radius:0.375rem;--bs-pagination-hover-color:var(--bs-link-hover-color);--bs-pagination-hover-bg:#e9ecef;--bs-pagination-hover-border-color:#dee2e6;--bs-pagination-focus-color:var(--bs-link-hover-color);--bs-pagination-focus-bg:#e9ecef;--bs-pagination-focus-box-shadow:0 0 0 0.25rem rgba(13, 110, 253, 0.25);--bs-pagination-active-color:#fff;--bs-pagination-active-bg:#0d6efd;--bs-pagination-active-border-color:#0d6efd;--bs-pagination-disabled-color:#474747;--bs-pagination-disabled-bg:#fff;--bs-pagination-disabled-border-color:#dee2e6;display:-webkit-box;display:-ms-flexbox;display:flex;padding-left:0}.page-link{display:block;padding:var(--bs-pagination-padding-y) var(--bs-pagination-padding-x);font-size:var(--bs-pagination-font-size);color:var(--bs-pagination-color);background-color:var(--bs-pagination-bg);border:var(--bs-pagination-border-width) solid var(--bs-pagination-border-color);-webkit-transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-box-shadow .15s ease-in-out}.page-link:hover{z-index:2;color:var(--bs-pagination-hover-color);background-color:var(--bs-pagination-hover-bg);border-color:var(--bs-pagination-hover-border-color)}.page-link:focus{z-index:3;color:var(--bs-pagination-focus-color);background-color:var(--bs-pagination-focus-bg);outline:0;-webkit-box-shadow:var(--bs-pagination-focus-box-shadow);box-shadow:var(--bs-pagination-focus-box-shadow)}.active>.page-link,.page-link.active{z-index:3;color:var(--bs-pagination-active-color);background-color:var(--bs-pagination-active-bg);border-color:var(--bs-pagination-active-border-color)}.disabled>.page-link,.page-link.disabled{color:var(--bs-pagination-disabled-color);pointer-events:none;background-color:var(--bs-pagination-disabled-bg);border-color:var(--bs-pagination-disabled-border-color)}.page-item .page-link{border-radius:var(--bs-pagination-border-radius)}.pagination-lg{--bs-pagination-padding-x:1.5rem;--bs-pagination-padding-y:0.75rem;--bs-pagination-font-size:1.25rem;--bs-pagination-border-radius:0.5rem}.pagination-sm{--bs-pagination-padding-x:0.5rem;--bs-pagination-padding-y:0.25rem;--bs-pagination-font-size:0.875rem;--bs-pagination-border-radius:0.25rem}.badge{--bs-badge-padding-x:0.65em;--bs-badge-padding-y:0.35em;--bs-badge-font-size:0.75em;--bs-badge-font-weight:700;--bs-badge-color:#fff;--bs-badge-border-radius:0.375rem;display:inline-block;padding:var(--bs-badge-padding-y) var(--bs-badge-padding-x);font-size:var(--bs-badge-font-size);font-weight:var(--bs-badge-font-weight);line-height:1;color:var(--bs-badge-color);vertical-align:baseline;border-radius:var(--bs-badge-border-radius)}.progress,.progress-bar{display:-webkit-box;display:-ms-flexbox;overflow:hidden}.btn .badge{top:-1px}.alert{--bs-alert-bg:transparent;--bs-alert-padding-x:1rem;--bs-alert-padding-y:1rem;--bs-alert-margin-bottom:1rem;--bs-alert-color:inherit;--bs-alert-border-color:transparent;--bs-alert-border:1px solid var(--bs-alert-border-color);--bs-alert-border-radius:0.375rem;padding:var(--bs-alert-padding-y) var(--bs-alert-padding-x);margin-bottom:var(--bs-alert-margin-bottom);color:var(--bs-alert-color);background-color:var(--bs-alert-bg);border:var(--bs-alert-border);border-radius:var(--bs-alert-border-radius)}.alert-dismissible .btn-close{position:absolute;top:0;right:0;z-index:2;padding:1.25rem 1rem}.alert-primary{--bs-alert-color:#084298;--bs-alert-bg:#cfe2ff;--bs-alert-border-color:#b6d4fe}.alert-primary .alert-link{color:#06357a}.alert-secondary{--bs-alert-color:#2b2b2b;--bs-alert-bg:#dadada;--bs-alert-border-color:#c8c8c8}.alert-secondary .alert-link{color:#222}.alert-success{--bs-alert-color:#0f5132;--bs-alert-bg:#d1e7dd;--bs-alert-border-color:#badbcc}.alert-success .alert-link{color:#0c4128}.alert-info{--bs-alert-color:#055160;--bs-alert-bg:#cff4fc;--bs-alert-border-color:#b6effb}.alert-info .alert-link{color:#04414d}.alert-warning{--bs-alert-color:#664d03;--bs-alert-bg:#fff3cd;--bs-alert-border-color:#ffecb5}.alert-warning .alert-link{color:#523e02}.alert-danger{--bs-alert-color:#993834;--bs-alert-bg:#ffdfdd;--bs-alert-border-color:#ffcecd}.alert-danger .alert-link{color:#7a2d2a}.alert-light{--bs-alert-color:#636464;--bs-alert-bg:#fefefe;--bs-alert-border-color:#fdfdfe}.alert-light .alert-link{color:#4f5050}.alert-dark{--bs-alert-color:#131313;--bs-alert-bg:#d2d2d2;--bs-alert-border-color:#bcbcbc}.alert-dark .alert-link{color:#0f0f0f}@-webkit-keyframes progress-bar-stripes{0%{background-position-x:1rem}}@keyframes progress-bar-stripes{0%{background-position-x:1rem}}.progress{--bs-progress-height:1rem;--bs-progress-font-size:0.75rem;--bs-progress-bg:#e9ecef;--bs-progress-border-radius:0.375rem;--bs-progress-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.075);--bs-progress-bar-color:#fff;--bs-progress-bar-bg:#0d6efd;--bs-progress-bar-transition:width 0.6s ease;display:flex;height:var(--bs-progress-height);font-size:var(--bs-progress-font-size);background-color:var(--bs-progress-bg);border-radius:var(--bs-progress-border-radius)}.progress-bar{display:flex;flex-direction:column;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;color:var(--bs-progress-bar-color);background-color:var(--bs-progress-bar-bg);-webkit-transition:var(--bs-progress-bar-transition);transition:var(--bs-progress-bar-transition)}.popover,.tooltip{font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;word-wrap:break-word;text-decoration:none}.progress-bar-striped{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:var(--bs-progress-height) var(--bs-progress-height)}.progress-bar-animated{-webkit-animation:1s linear infinite progress-bar-stripes;animation:1s linear infinite progress-bar-stripes}.list-group{--bs-list-group-color:#1f1f1f;--bs-list-group-bg:#fff;--bs-list-group-border-color:rgba(0, 0, 0, 0.125);--bs-list-group-border-width:1px;--bs-list-group-border-radius:0.375rem;--bs-list-group-item-padding-x:1rem;--bs-list-group-item-padding-y:0.5rem;--bs-list-group-action-color:#3d3d3d;--bs-list-group-action-hover-color:#3d3d3d;--bs-list-group-action-hover-bg:#f8f9fa;--bs-list-group-action-active-color:#1f1f1f;--bs-list-group-action-active-bg:#e9ecef;--bs-list-group-disabled-color:#474747;--bs-list-group-disabled-bg:#fff;--bs-list-group-active-color:#fff;--bs-list-group-active-bg:#0d6efd;--bs-list-group-active-border-color:#0d6efd;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;padding-left:0;margin-bottom:0;border-radius:var(--bs-list-group-border-radius)}.list-group-numbered{list-style-type:none;counter-reset:section}.list-group-numbered>.list-group-item::before{content:counters(section, ".") ". ";counter-increment:section}.list-group-item-action{width:100%;color:var(--bs-list-group-action-color);text-align:inherit}.list-group-item-action:focus,.list-group-item-action:hover{z-index:1;color:var(--bs-list-group-action-hover-color);text-decoration:none;background-color:var(--bs-list-group-action-hover-bg)}.list-group-item-action:active{color:var(--bs-list-group-action-active-color);background-color:var(--bs-list-group-action-active-bg)}.list-group-item{display:block;padding:var(--bs-list-group-item-padding-y) var(--bs-list-group-item-padding-x);color:var(--bs-list-group-color);text-decoration:none;background-color:var(--bs-list-group-bg);border:var(--bs-list-group-border-width) solid var(--bs-list-group-border-color)}.modal-dialog-centered,.toast-header{display:-webkit-box;display:-ms-flexbox}.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:var(--bs-list-group-disabled-color);pointer-events:none;background-color:var(--bs-list-group-disabled-bg)}.list-group-item.active{z-index:2;color:var(--bs-list-group-active-color);background-color:var(--bs-list-group-active-bg);border-color:var(--bs-list-group-active-border-color)}.list-group-item+.list-group-item.active{margin-top:calc(var(--bs-list-group-border-width) * -1);border-top-width:var(--bs-list-group-border-width)}.list-group-horizontal>.list-group-item:first-child{border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal>.list-group-item:last-child{border-top-right-radius:var(--bs-list-group-border-radius);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:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal>.list-group-item+.list-group-item.active{margin-left:calc(var(--bs-list-group-border-width) * -1);border-left-width:var(--bs-list-group-border-width)}.modal-content,.offcanvas{-webkit-box-orient:vertical;outline:0;-webkit-box-direction:normal}.list-group-flush>.list-group-item{border-width:0 0 var(--bs-list-group-border-width)}.list-group-item-primary{color:#084298;background-color:#cfe2ff}.list-group-item-primary.list-group-item-action:focus,.list-group-item-primary.list-group-item-action:hover{color:#084298;background-color:#bacbe6}.list-group-item-primary.list-group-item-action.active{color:#fff;background-color:#084298;border-color:#084298}.list-group-item-secondary{color:#2b2b2b;background-color:#dadada}.list-group-item-secondary.list-group-item-action:focus,.list-group-item-secondary.list-group-item-action:hover{color:#2b2b2b;background-color:#c4c4c4}.list-group-item-secondary.list-group-item-action.active{color:#fff;background-color:#2b2b2b;border-color:#2b2b2b}.list-group-item-success{color:#0f5132;background-color:#d1e7dd}.list-group-item-success.list-group-item-action:focus,.list-group-item-success.list-group-item-action:hover{color:#0f5132;background-color:#bcd0c7}.list-group-item-success.list-group-item-action.active{color:#fff;background-color:#0f5132;border-color:#0f5132}.list-group-item-info{color:#055160;background-color:#cff4fc}.list-group-item-info.list-group-item-action:focus,.list-group-item-info.list-group-item-action:hover{color:#055160;background-color:#badce3}.list-group-item-info.list-group-item-action.active{color:#fff;background-color:#055160;border-color:#055160}.list-group-item-warning{color:#664d03;background-color:#fff3cd}.list-group-item-warning.list-group-item-action:focus,.list-group-item-warning.list-group-item-action:hover{color:#664d03;background-color:#e6dbb9}.list-group-item-warning.list-group-item-action.active{color:#fff;background-color:#664d03;border-color:#664d03}.list-group-item-danger{color:#993834;background-color:#ffdfdd}.list-group-item-danger.list-group-item-action:focus,.list-group-item-danger.list-group-item-action:hover{color:#993834;background-color:#e6c9c7}.list-group-item-danger.list-group-item-action.active{color:#fff;background-color:#993834;border-color:#993834}.list-group-item-light{color:#636464;background-color:#fefefe}.list-group-item-light.list-group-item-action:focus,.list-group-item-light.list-group-item-action:hover{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:#131313;background-color:#d2d2d2}.list-group-item-dark.list-group-item-action:focus,.list-group-item-dark.list-group-item-action:hover{color:#131313;background-color:#bdbdbd}.list-group-item-dark.list-group-item-action.active{color:#fff;background-color:#131313;border-color:#131313}.btn-close{-webkit-box-sizing:content-box;box-sizing:content-box;width:1em;height:1em;padding:.25em;color:#000;background: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 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat;border:0;border-radius:.375rem;opacity:.5}.modal-content,.popover,.toast,.toast-header{background-clip:padding-box}.btn-close:hover{color:#000;text-decoration:none;opacity:.75}.btn-close:focus{outline:0;-webkit-box-shadow:0 0 0 .25rem rgba(13,110,253,.25);box-shadow:0 0 0 .25rem rgba(13,110,253,.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:.25}.btn-close-white{-webkit-filter:invert(1) grayscale(100%) brightness(200%);filter:invert(1) grayscale(100%) brightness(200%)}.toast{--bs-toast-padding-x:0.75rem;--bs-toast-padding-y:0.5rem;--bs-toast-spacing:1.5rem;--bs-toast-max-width:350px;--bs-toast-font-size:0.875rem;--bs-toast-color: ;--bs-toast-bg:rgba(255, 255, 255, 0.85);--bs-toast-border-width:1px;--bs-toast-border-color:var(--bs-border-color-translucent);--bs-toast-border-radius:0.375rem;--bs-toast-box-shadow:0 0.5rem 1rem rgba(0, 0, 0, 0.15);--bs-toast-header-color:#474747;--bs-toast-header-bg:rgba(255, 255, 255, 0.85);--bs-toast-header-border-color:rgba(0, 0, 0, 0.05);width:var(--bs-toast-max-width);max-width:100%;font-size:var(--bs-toast-font-size);color:var(--bs-toast-color);pointer-events:auto;background-color:var(--bs-toast-bg);border:var(--bs-toast-border-width) solid var(--bs-toast-border-color);-webkit-box-shadow:var(--bs-toast-box-shadow);box-shadow:var(--bs-toast-box-shadow);border-radius:var(--bs-toast-border-radius)}.toast-container{position:absolute;z-index:1090;width:-webkit-max-content;width:-moz-max-content;width:max-content;max-width:100%;pointer-events:none}.toast-container>:not(:last-child){margin-bottom:var(--bs-toast-spacing)}.toast-header{display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:var(--bs-toast-padding-y) var(--bs-toast-padding-x);color:var(--bs-toast-header-color);background-color:var(--bs-toast-header-bg);border-bottom:var(--bs-toast-border-width) solid var(--bs-toast-header-border-color);border-top-left-radius:calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width));border-top-right-radius:calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width))}.toast-header .btn-close{margin-right:calc(var(--bs-toast-padding-x) * -.5);margin-left:var(--bs-toast-padding-x)}.toast-body{padding:var(--bs-toast-padding-x);word-wrap:break-word}.modal{--bs-modal-zindex:1055;--bs-modal-width:500px;--bs-modal-padding:1rem;--bs-modal-margin:0.5rem;--bs-modal-color: ;--bs-modal-bg:#fff;--bs-modal-border-color:var(--bs-border-color-translucent);--bs-modal-border-width:1px;--bs-modal-border-radius:0.5rem;--bs-modal-box-shadow:0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);--bs-modal-inner-border-radius:calc(0.5rem - 1px);--bs-modal-header-padding-x:1rem;--bs-modal-header-padding-y:1rem;--bs-modal-header-padding:1rem 1rem;--bs-modal-header-border-color:var(--bs-border-color);--bs-modal-header-border-width:1px;--bs-modal-title-line-height:1.5;--bs-modal-footer-gap:0.5rem;--bs-modal-footer-bg: ;--bs-modal-footer-border-color:var(--bs-border-color);--bs-modal-footer-border-width:1px;position:fixed;top:0;left:0;z-index:var(--bs-modal-zindex);display:none;width:100%;height:100%;overflow-x:hidden;overflow-y:auto;outline:0}.modal-dialog{position:relative;width:auto;margin:var(--bs-modal-margin);pointer-events:none}.modal.fade .modal-dialog{-webkit-transition:-webkit-transform .3s ease-out;transition:transform .3s ease-out;transition:transform .3s ease-out,-webkit-transform .3s ease-out;-webkit-transform:translate(0,-50px);transform:translate(0,-50px)}.modal.show .modal-dialog,.offcanvas.show:not(.hiding),.offcanvas.showing{-webkit-transform:none;transform:none}.modal.modal-static .modal-dialog{-webkit-transform:scale(1.02);transform:scale(1.02)}.modal-dialog-scrollable{height:calc(100% - var(--bs-modal-margin) * 2)}.modal-dialog-scrollable .modal-content{max-height:100%;overflow:hidden}.modal-dialog-scrollable .modal-body,.modal-fullscreen .modal-body{overflow-y:auto}.modal-dialog-centered{display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;min-height:calc(100% - var(--bs-modal-margin) * 2)}.modal-content,.modal-header{display:-webkit-box;display:-ms-flexbox}.modal-content{position:relative;display:flex;-ms-flex-direction:column;flex-direction:column;width:100%;color:var(--bs-modal-color);pointer-events:auto;background-color:var(--bs-modal-bg);border:var(--bs-modal-border-width) solid var(--bs-modal-border-color);border-radius:var(--bs-modal-border-radius)}.modal-backdrop{--bs-backdrop-zindex:1050;--bs-backdrop-bg:#000;--bs-backdrop-opacity:0.5;position:fixed;top:0;left:0;z-index:var(--bs-backdrop-zindex);width:100vw;height:100vh;background-color:var(--bs-backdrop-bg)}.modal-backdrop.show{opacity:var(--bs-backdrop-opacity)}.modal-header{display:flex;-ms-flex-negative:0;flex-shrink:0;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;padding:var(--bs-modal-header-padding);border-bottom:var(--bs-modal-header-border-width) solid var(--bs-modal-header-border-color);border-top-left-radius:var(--bs-modal-inner-border-radius);border-top-right-radius:var(--bs-modal-inner-border-radius)}.modal-header .btn-close{padding:calc(var(--bs-modal-header-padding-y) * .5) calc(var(--bs-modal-header-padding-x) * .5);margin:calc(var(--bs-modal-header-padding-y) * -.5) calc(var(--bs-modal-header-padding-x) * -.5) calc(var(--bs-modal-header-padding-y) * -.5) auto}.modal-title{margin-bottom:0;line-height:var(--bs-modal-title-line-height)}.modal-body{position:relative;-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto;padding:var(--bs-modal-padding)}.modal-footer{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-negative:0;flex-shrink:0;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;padding:calc(var(--bs-modal-padding) - var(--bs-modal-footer-gap) * .5);background-color:var(--bs-modal-footer-bg);border-top:var(--bs-modal-footer-border-width) solid var(--bs-modal-footer-border-color);border-bottom-right-radius:var(--bs-modal-inner-border-radius);border-bottom-left-radius:var(--bs-modal-inner-border-radius)}.modal-footer>*{margin:calc(var(--bs-modal-footer-gap) * .5)}.modal-fullscreen{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen .modal-content{height:100%;border:0;border-radius:0}.tooltip{--bs-tooltip-zindex:1080;--bs-tooltip-max-width:200px;--bs-tooltip-padding-x:0.5rem;--bs-tooltip-padding-y:0.25rem;--bs-tooltip-margin: ;--bs-tooltip-font-size:0.875rem;--bs-tooltip-color:#fff;--bs-tooltip-bg:#000;--bs-tooltip-border-radius:0.375rem;--bs-tooltip-opacity:0.9;--bs-tooltip-arrow-width:0.8rem;--bs-tooltip-arrow-height:0.4rem;z-index:var(--bs-tooltip-zindex);display:block;padding:var(--bs-tooltip-arrow-height);margin:var(--bs-tooltip-margin);line-height:1.5;text-align:left;text-align:start;font-size:var(--bs-tooltip-font-size);opacity:0}.tooltip.show{opacity:var(--bs-tooltip-opacity)}.tooltip .tooltip-arrow{display:block;width:var(--bs-tooltip-arrow-width);height:var(--bs-tooltip-arrow-height)}.tooltip .tooltip-arrow::before{position:absolute;content:"";border-color:transparent;border-style:solid}.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow,.bs-tooltip-top .tooltip-arrow{bottom:0}.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow::before,.bs-tooltip-top .tooltip-arrow::before{top:-1px;border-width:var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * .5) 0;border-top-color:var(--bs-tooltip-bg)}.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow,.bs-tooltip-end .tooltip-arrow{left:0;width:var(--bs-tooltip-arrow-height);height:var(--bs-tooltip-arrow-width)}.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow::before,.bs-tooltip-end .tooltip-arrow::before{right:-1px;border-width:calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * .5) 0;border-right-color:var(--bs-tooltip-bg)}.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow,.bs-tooltip-bottom .tooltip-arrow{top:0}.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow::before,.bs-tooltip-bottom .tooltip-arrow::before{bottom:-1px;border-width:0 calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height);border-bottom-color:var(--bs-tooltip-bg)}.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow,.bs-tooltip-start .tooltip-arrow{right:0;width:var(--bs-tooltip-arrow-height);height:var(--bs-tooltip-arrow-width)}.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow::before,.bs-tooltip-start .tooltip-arrow::before{left:-1px;border-width:calc(var(--bs-tooltip-arrow-width) * .5) 0 calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height);border-left-color:var(--bs-tooltip-bg)}.tooltip-inner{max-width:var(--bs-tooltip-max-width);padding:var(--bs-tooltip-padding-y) var(--bs-tooltip-padding-x);color:var(--bs-tooltip-color);text-align:center;background-color:var(--bs-tooltip-bg);border-radius:var(--bs-tooltip-border-radius)}.popover{--bs-popover-zindex:1070;--bs-popover-max-width:276px;--bs-popover-font-size:0.875rem;--bs-popover-bg:#fff;--bs-popover-border-width:1px;--bs-popover-border-color:var(--bs-border-color-translucent);--bs-popover-border-radius:0.5rem;--bs-popover-inner-border-radius:calc(0.5rem - 1px);--bs-popover-box-shadow:0 0.5rem 1rem rgba(0, 0, 0, 0.15);--bs-popover-header-padding-x:1rem;--bs-popover-header-padding-y:0.5rem;--bs-popover-header-font-size:1rem;--bs-popover-header-color:var(--bs-heading-color);--bs-popover-header-bg:#f0f0f0;--bs-popover-body-padding-x:1rem;--bs-popover-body-padding-y:1rem;--bs-popover-body-color:#1f1f1f;--bs-popover-arrow-width:1rem;--bs-popover-arrow-height:0.5rem;--bs-popover-arrow-border:var(--bs-popover-border-color);z-index:var(--bs-popover-zindex);display:block;max-width:var(--bs-popover-max-width);line-height:1.5;text-align:left;text-align:start;font-size:var(--bs-popover-font-size);background-color:var(--bs-popover-bg);border:var(--bs-popover-border-width) solid var(--bs-popover-border-color);border-radius:var(--bs-popover-border-radius)}.popover .popover-arrow{display:block;width:var(--bs-popover-arrow-width);height:var(--bs-popover-arrow-height)}.popover .popover-arrow::after,.popover .popover-arrow::before{position:absolute;display:block;content:"";border:0 solid transparent}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow,.bs-popover-top>.popover-arrow{bottom:calc((var(--bs-popover-arrow-height) * -1) - var(--bs-popover-border-width))}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::before,.bs-popover-top>.popover-arrow::after,.bs-popover-top>.popover-arrow::before{border-width:var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * .5) 0}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::before,.bs-popover-top>.popover-arrow::before{bottom:0;border-top-color:var(--bs-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::after,.bs-popover-top>.popover-arrow::after{bottom:var(--bs-popover-border-width);border-top-color:var(--bs-popover-bg)}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow,.bs-popover-end>.popover-arrow{left:calc((var(--bs-popover-arrow-height) * -1) - var(--bs-popover-border-width));width:var(--bs-popover-arrow-height);height:var(--bs-popover-arrow-width)}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::before,.bs-popover-end>.popover-arrow::after,.bs-popover-end>.popover-arrow::before{border-width:calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * .5) 0}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::before,.bs-popover-end>.popover-arrow::before{left:0;border-right-color:var(--bs-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::after,.bs-popover-end>.popover-arrow::after{left:var(--bs-popover-border-width);border-right-color:var(--bs-popover-bg)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow,.bs-popover-bottom>.popover-arrow{top:calc((var(--bs-popover-arrow-height) * -1) - var(--bs-popover-border-width))}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::before,.bs-popover-bottom>.popover-arrow::after,.bs-popover-bottom>.popover-arrow::before{border-width:0 calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::before,.bs-popover-bottom>.popover-arrow::before{top:0;border-bottom-color:var(--bs-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::after,.bs-popover-bottom>.popover-arrow::after{top:var(--bs-popover-border-width);border-bottom-color:var(--bs-popover-bg)}.bs-popover-auto[data-popper-placement^=bottom] .popover-header::before,.bs-popover-bottom .popover-header::before{position:absolute;top:0;left:50%;display:block;width:var(--bs-popover-arrow-width);margin-left:calc(var(--bs-popover-arrow-width) * -.5);content:"";border-bottom:var(--bs-popover-border-width) solid var(--bs-popover-header-bg)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow,.bs-popover-start>.popover-arrow{right:calc((var(--bs-popover-arrow-height) * -1) - var(--bs-popover-border-width));width:var(--bs-popover-arrow-height);height:var(--bs-popover-arrow-width)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::before,.bs-popover-start>.popover-arrow::after,.bs-popover-start>.popover-arrow::before{border-width:calc(var(--bs-popover-arrow-width) * .5) 0 calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::before,.bs-popover-start>.popover-arrow::before{right:0;border-left-color:var(--bs-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::after,.bs-popover-start>.popover-arrow::after{right:var(--bs-popover-border-width);border-left-color:var(--bs-popover-bg)}.popover-header{padding:var(--bs-popover-header-padding-y) var(--bs-popover-header-padding-x);margin-bottom:0;font-size:var(--bs-popover-header-font-size);color:var(--bs-popover-header-color);background-color:var(--bs-popover-header-bg);border-bottom:var(--bs-popover-border-width) solid var(--bs-popover-border-color);border-top-left-radius:var(--bs-popover-inner-border-radius);border-top-right-radius:var(--bs-popover-inner-border-radius)}.popover-body{padding:var(--bs-popover-body-padding-y) var(--bs-popover-body-padding-x);color:var(--bs-popover-body-color)}.carousel.pointer-event{-ms-touch-action:pan-y;touch-action:pan-y}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner::after,.clearfix::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;-webkit-transition:-webkit-transform .6s ease-in-out;transition:transform .6s ease-in-out;transition:transform .6s ease-in-out,-webkit-transform .6s ease-in-out}.active.carousel-item-end,.carousel-item-next:not(.carousel-item-start){-webkit-transform:translateX(100%);transform:translateX(100%)}.active.carousel-item-start,.carousel-item-prev:not(.carousel-item-end){-webkit-transform:translateX(-100%);transform:translateX(-100%)}.carousel-fade .carousel-item{opacity:0;-webkit-transition-property:opacity;transition-property:opacity;-webkit-transform:none;transform:none}.carousel-fade .carousel-item-next.carousel-item-start,.carousel-fade .carousel-item-prev.carousel-item-end,.carousel-fade .carousel-item.active{z-index:1;opacity:1}.carousel-fade .active.carousel-item-end,.carousel-fade .active.carousel-item-start{z-index:0;opacity:0;-webkit-transition:opacity 0s .6s;transition:opacity 0s .6s}.carousel-control-next,.carousel-control-prev{position:absolute;top:0;bottom:0;z-index:1;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;width:15%;padding:0;color:#fff;text-align:center;background:0 0;border:0;opacity:.5;-webkit-transition:opacity .15s;transition:opacity .15s}.carousel-control-next:focus,.carousel-control-next:hover,.carousel-control-prev:focus,.carousel-control-prev:hover{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-next-icon,.carousel-control-prev-icon{display:inline-block;width:2rem;height:2rem;background-repeat:no-repeat;background-position:50%;background-size:100% 100%}.carousel-indicators,.offcanvas{display:-webkit-box;display:-ms-flexbox}.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;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;padding:0;margin-right:15%;margin-bottom:1rem;margin-left:15%}.carousel-indicators [data-bs-target]{-webkit-box-sizing:content-box;box-sizing:content-box;-webkit-box-flex:0;-ms-flex:0 1 auto;flex:0 1 auto;width:30px;height:3px;padding:0;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border:0;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;-webkit-transition:opacity .6s;transition:opacity .6s}.offcanvas.offcanvas-bottom,.offcanvas.offcanvas-top{right:0;height:var(--bs-offcanvas-height);max-height:100%}.carousel-caption{position:absolute;right:15%;bottom:1.25rem;left:15%;padding-top:1.25rem;padding-bottom:1.25rem;color:#fff;text-align:center}.offcanvas-body,.offcanvas-header{padding:var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x)}.carousel-dark .carousel-control-next-icon,.carousel-dark .carousel-control-prev-icon{-webkit-filter:invert(1) grayscale(100);filter:invert(1) grayscale(100)}.carousel-dark .carousel-indicators [data-bs-target]{background-color:#000}.carousel-dark .carousel-caption{color:#000}.spinner-border,.spinner-grow{display:inline-block;width:var(--bs-spinner-width);height:var(--bs-spinner-height);vertical-align:var(--bs-spinner-vertical-align);border-radius:50%;-webkit-animation:var(--bs-spinner-animation-speed) linear infinite var(--bs-spinner-animation-name);animation:var(--bs-spinner-animation-speed) linear infinite var(--bs-spinner-animation-name)}@-webkit-keyframes spinner-border{to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes spinner-border{to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.spinner-border{--bs-spinner-width:2rem;--bs-spinner-height:2rem;--bs-spinner-border-width:0.25em;--bs-spinner-animation-name:spinner-border;border:var(--bs-spinner-border-width) solid currentcolor;border-right-color:transparent}.spinner-border-sm{--bs-spinner-width:1rem;--bs-spinner-height:1rem;--bs-spinner-border-width:0.2em}@-webkit-keyframes spinner-grow{0%{-webkit-transform:scale(0);transform:scale(0)}50%{opacity:1;-webkit-transform:none;transform:none}}@keyframes spinner-grow{0%{-webkit-transform:scale(0);transform:scale(0)}50%{opacity:1;-webkit-transform:none;transform:none}}.spinner-grow{--bs-spinner-width:2rem;--bs-spinner-height:2rem;--bs-spinner-animation-name:spinner-grow;background-color:currentcolor;opacity:0}.spinner-grow-sm{--bs-spinner-width:1rem;--bs-spinner-height:1rem}.offcanvas,.offcanvas-lg,.offcanvas-md,.offcanvas-sm,.offcanvas-xl,.offcanvas-xxl{--bs-offcanvas-width:400px;--bs-offcanvas-height:30vh;--bs-offcanvas-padding-x:1rem;--bs-offcanvas-padding-y:1rem;--bs-offcanvas-color: ;--bs-offcanvas-bg:#fff;--bs-offcanvas-border-width:1px;--bs-offcanvas-border-color:var(--bs-border-color-translucent);--bs-offcanvas-box-shadow:0 0.125rem 0.25rem rgba(0, 0, 0, 0.075)}@media (max-width:575.98px){.table-responsive-sm{overflow-x:auto;-webkit-overflow-scrolling:touch}.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-footer,.modal-fullscreen-sm-down .modal-header{border-radius:0}.modal-fullscreen-sm-down .modal-body{overflow-y:auto}.offcanvas-sm{position:fixed;bottom:0;z-index:1045;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;-webkit-transition:-webkit-transform .3s ease-in-out;transition:transform .3s ease-in-out;transition:transform .3s ease-in-out,-webkit-transform .3s ease-in-out}.offcanvas-sm.offcanvas-bottom,.offcanvas-sm.offcanvas-top{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%}.offcanvas-sm.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);-webkit-transform:translateX(-100%);transform:translateX(-100%)}.offcanvas-sm.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);-webkit-transform:translateX(100%);transform:translateX(100%)}.offcanvas-sm.offcanvas-top{top:0;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);-webkit-transform:translateY(-100%);transform:translateY(-100%)}.offcanvas-sm.offcanvas-bottom{border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);-webkit-transform:translateY(100%);transform:translateY(100%)}.offcanvas-sm.show:not(.hiding),.offcanvas-sm.showing{-webkit-transform:none;transform:none}.offcanvas-sm.hiding,.offcanvas-sm.show,.offcanvas-sm.showing{visibility:visible}}@media (max-width:575.98px) and (prefers-reduced-motion:reduce){.offcanvas-sm{-webkit-transition:none;transition:none}}@media (max-width:767.98px){.table-responsive-md{overflow-x:auto;-webkit-overflow-scrolling:touch}.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-footer,.modal-fullscreen-md-down .modal-header{border-radius:0}.modal-fullscreen-md-down .modal-body{overflow-y:auto}.offcanvas-md{position:fixed;bottom:0;z-index:1045;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;-webkit-transition:-webkit-transform .3s ease-in-out;transition:transform .3s ease-in-out;transition:transform .3s ease-in-out,-webkit-transform .3s ease-in-out}.offcanvas-md.offcanvas-bottom,.offcanvas-md.offcanvas-top{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%}.offcanvas-md.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);-webkit-transform:translateX(-100%);transform:translateX(-100%)}.offcanvas-md.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);-webkit-transform:translateX(100%);transform:translateX(100%)}.offcanvas-md.offcanvas-top{top:0;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);-webkit-transform:translateY(-100%);transform:translateY(-100%)}.offcanvas-md.offcanvas-bottom{border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);-webkit-transform:translateY(100%);transform:translateY(100%)}.offcanvas-md.show:not(.hiding),.offcanvas-md.showing{-webkit-transform:none;transform:none}.offcanvas-md.hiding,.offcanvas-md.show,.offcanvas-md.showing{visibility:visible}}@media (max-width:767.98px) and (prefers-reduced-motion:reduce){.offcanvas-md{-webkit-transition:none;transition:none}}@media (max-width:991.98px){.table-responsive-lg{overflow-x:auto;-webkit-overflow-scrolling:touch}.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-footer,.modal-fullscreen-lg-down .modal-header{border-radius:0}.modal-fullscreen-lg-down .modal-body{overflow-y:auto}.offcanvas-lg{position:fixed;bottom:0;z-index:1045;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;-webkit-transition:-webkit-transform .3s ease-in-out;transition:transform .3s ease-in-out;transition:transform .3s ease-in-out,-webkit-transform .3s ease-in-out}.offcanvas-lg.offcanvas-bottom,.offcanvas-lg.offcanvas-top{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%}.offcanvas-lg.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);-webkit-transform:translateX(-100%);transform:translateX(-100%)}.offcanvas-lg.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);-webkit-transform:translateX(100%);transform:translateX(100%)}.offcanvas-lg.offcanvas-top{top:0;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);-webkit-transform:translateY(-100%);transform:translateY(-100%)}.offcanvas-lg.offcanvas-bottom{border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);-webkit-transform:translateY(100%);transform:translateY(100%)}.offcanvas-lg.show:not(.hiding),.offcanvas-lg.showing{-webkit-transform:none;transform:none}.offcanvas-lg.hiding,.offcanvas-lg.show,.offcanvas-lg.showing{visibility:visible}}@media (max-width:991.98px) and (prefers-reduced-motion:reduce){.offcanvas-lg{-webkit-transition:none;transition:none}}@media (max-width:1199.98px){.table-responsive-xl{overflow-x:auto;-webkit-overflow-scrolling:touch}.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-footer,.modal-fullscreen-xl-down .modal-header{border-radius:0}.modal-fullscreen-xl-down .modal-body{overflow-y:auto}.offcanvas-xl{position:fixed;bottom:0;z-index:1045;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;-webkit-transition:-webkit-transform .3s ease-in-out;transition:transform .3s ease-in-out;transition:transform .3s ease-in-out,-webkit-transform .3s ease-in-out}.offcanvas-xl.offcanvas-bottom,.offcanvas-xl.offcanvas-top{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%}.offcanvas-xl.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);-webkit-transform:translateX(-100%);transform:translateX(-100%)}.offcanvas-xl.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);-webkit-transform:translateX(100%);transform:translateX(100%)}.offcanvas-xl.offcanvas-top{top:0;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);-webkit-transform:translateY(-100%);transform:translateY(-100%)}.offcanvas-xl.offcanvas-bottom{border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);-webkit-transform:translateY(100%);transform:translateY(100%)}.offcanvas-xl.show:not(.hiding),.offcanvas-xl.showing{-webkit-transform:none;transform:none}.offcanvas-xl.hiding,.offcanvas-xl.show,.offcanvas-xl.showing{visibility:visible}}@media (max-width:1199.98px) and (prefers-reduced-motion:reduce){.offcanvas-xl{-webkit-transition:none;transition:none}}@media (max-width:1399.98px){.table-responsive-xxl{overflow-x:auto;-webkit-overflow-scrolling:touch}.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-footer,.modal-fullscreen-xxl-down .modal-header{border-radius:0}.modal-fullscreen-xxl-down .modal-body{overflow-y:auto}.offcanvas-xxl{position:fixed;bottom:0;z-index:1045;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;-webkit-transition:-webkit-transform .3s ease-in-out;transition:transform .3s ease-in-out;transition:transform .3s ease-in-out,-webkit-transform .3s ease-in-out}.offcanvas-xxl.offcanvas-bottom,.offcanvas-xxl.offcanvas-top{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%}.offcanvas-xxl.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);-webkit-transform:translateX(-100%);transform:translateX(-100%)}.offcanvas-xxl.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);-webkit-transform:translateX(100%);transform:translateX(100%)}.offcanvas-xxl.offcanvas-top{top:0;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);-webkit-transform:translateY(-100%);transform:translateY(-100%)}.offcanvas-xxl.offcanvas-bottom{border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);-webkit-transform:translateY(100%);transform:translateY(100%)}.offcanvas-xxl.show:not(.hiding),.offcanvas-xxl.showing{-webkit-transform:none;transform:none}.offcanvas-xxl.hiding,.offcanvas-xxl.show,.offcanvas-xxl.showing{visibility:visible}}@media (max-width:1399.98px) and (prefers-reduced-motion:reduce){.offcanvas-xxl{-webkit-transition:none;transition:none}}.offcanvas{position:fixed;bottom:0;z-index:1045;display:flex;-ms-flex-direction:column;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;-webkit-transition:-webkit-transform .3s ease-in-out;transition:transform .3s ease-in-out,-webkit-transform .3s ease-in-out}.hstack,.offcanvas-header{display:-webkit-box;display:-ms-flexbox}@media (prefers-reduced-motion:reduce){.form-control{-webkit-transition:none;transition:none}.form-control::file-selector-button{-webkit-transition:none;transition:none}.form-select,.form-switch .form-check-input{-webkit-transition:none;transition:none}.form-range::-webkit-slider-thumb{-webkit-transition:none;transition:none}.form-range::-moz-range-thumb{-webkit-transition:none;transition:none}.accordion-button,.accordion-button::after,.btn,.carousel-control-next,.carousel-control-prev,.carousel-fade .active.carousel-item-end,.carousel-fade .active.carousel-item-start,.carousel-indicators [data-bs-target],.carousel-item,.collapsing,.collapsing.collapse-horizontal,.fade,.form-floating>label,.modal.fade .modal-dialog,.nav-link,.navbar-toggler,.offcanvas,.page-link,.progress-bar{-webkit-transition:none;transition:none}.progress-bar-animated{-webkit-animation:none;animation:none}.spinner-border,.spinner-grow{--bs-spinner-animation-speed:1.5s}}.offcanvas.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);-webkit-transform:translateX(-100%);transform:translateX(-100%)}.offcanvas.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);-webkit-transform:translateX(100%);transform:translateX(100%)}.offcanvas.offcanvas-top{top:0;left:0;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);-webkit-transform:translateY(-100%);transform:translateY(-100%)}.offcanvas.offcanvas-bottom{left:0;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);-webkit-transform:translateY(100%);transform:translateY(100%)}.offcanvas.hiding,.offcanvas.show,.offcanvas.showing{visibility:visible}.offcanvas-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}.offcanvas-backdrop.show{opacity:.5}.offcanvas-header{display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.offcanvas-header .btn-close{padding:calc(var(--bs-offcanvas-padding-y) * .5) calc(var(--bs-offcanvas-padding-x) * .5);margin-top:calc(var(--bs-offcanvas-padding-y) * -.5);margin-right:calc(var(--bs-offcanvas-padding-x) * -.5);margin-bottom:calc(var(--bs-offcanvas-padding-y) * -.5)}.offcanvas-title{margin-bottom:0;line-height:1.5}.offcanvas-body{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;overflow-y:auto}.placeholder{display:inline-block;min-height:1em;vertical-align:middle;cursor:wait;background-color:currentcolor;opacity:.5}.placeholder.btn::before{display:inline-block;content:""}.placeholder-xs{min-height:.6em}.placeholder-sm{min-height:.8em}.placeholder-lg{min-height:1.2em}.placeholder-glow .placeholder{-webkit-animation:2s ease-in-out infinite placeholder-glow;animation:2s ease-in-out infinite placeholder-glow}@-webkit-keyframes placeholder-glow{50%{opacity:.2}}@keyframes placeholder-glow{50%{opacity:.2}}.placeholder-wave{-webkit-mask-image:linear-gradient(130deg,#000 55%,rgba(0,0,0,0.8) 75%,#000 95%);mask-image:linear-gradient(130deg,#000 55%,rgba(0,0,0,0.8) 75%,#000 95%);-webkit-mask-size:200% 100%;mask-size:200% 100%;-webkit-animation:2s linear infinite placeholder-wave;animation:2s linear infinite placeholder-wave}@-webkit-keyframes placeholder-wave{100%{-webkit-mask-position:-200% 0%;mask-position:-200% 0%}}@keyframes placeholder-wave{100%{-webkit-mask-position:-200% 0%;mask-position:-200% 0%}}.text-bg-primary{color:#fff!important;background-color:RGBA(13,110,253,var(--bs-bg-opacity,1))!important}.text-bg-secondary{color:#fff!important;background-color:RGBA(71,71,71,var(--bs-bg-opacity,1))!important}.text-bg-success{color:#fff!important;background-color:RGBA(25,135,84,var(--bs-bg-opacity,1))!important}.text-bg-danger,.text-bg-info,.text-bg-light,.text-bg-warning{color:#000!important}.text-bg-info{background-color:RGBA(13,202,240,var(--bs-bg-opacity,1))!important}.text-bg-warning{background-color:RGBA(255,193,7,var(--bs-bg-opacity,1))!important}.text-bg-danger{background-color:RGBA(255,93,87,var(--bs-bg-opacity,1))!important}.text-bg-light{background-color:RGBA(248,249,250,var(--bs-bg-opacity,1))!important}.text-bg-dark{color:#fff!important;background-color:RGBA(31,31,31,var(--bs-bg-opacity,1))!important}.link-primary{color:#0d6efd!important}.link-primary:focus,.link-primary:hover{color:#0a58ca!important}.link-secondary{color:#474747!important}.link-secondary:focus,.link-secondary:hover{color:#393939!important}.link-success{color:#198754!important}.link-success:focus,.link-success:hover{color:#146c43!important}.link-info{color:#0dcaf0!important}.link-info:focus,.link-info:hover{color:#3dd5f3!important}.link-warning{color:#ffc107!important}.link-warning:focus,.link-warning:hover{color:#ffcd39!important}.link-danger{color:#ff5d57!important}.link-danger:focus,.link-danger:hover{color:#ff7d79!important}.link-light{color:#f8f9fa!important}.link-light:focus,.link-light:hover{color:#f9fafb!important}.link-dark{color:#1f1f1f!important}.link-dark:focus,.link-dark:hover{color:#191919!important}.ratio{position:relative;width:100%}.ratio::before{display:block;padding-top:var(--bs-aspect-ratio);content:""}.ratio>*{position:absolute;top:0;left:0;width:100%;height:100%}.fixed-bottom,.fixed-top{position:fixed;z-index:1030;right:0;left:0}.ratio-1x1{--bs-aspect-ratio:100%}.ratio-4x3{--bs-aspect-ratio:calc(3 / 4 * 100%)}.ratio-16x9{--bs-aspect-ratio:calc(9 / 16 * 100%)}.ratio-21x9{--bs-aspect-ratio:calc(9 / 21 * 100%)}.fixed-top{top:0}.fixed-bottom{bottom:0}.sticky-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}.hstack{display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-ms-flex-item-align:stretch}.vstack{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-ms-flex-item-align:stretch}.flex-column,.flex-row{-webkit-box-direction:normal!important}.visually-hidden,.visually-hidden-focusable:not(:focus):not(:focus-within){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}.vr{display:inline-block;-ms-flex-item-align:stretch;-ms-grid-row-align:stretch;width:1px;min-height:1em;background-color:currentcolor;opacity:.25}.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}.opacity-0{opacity:0!important}.opacity-25{opacity:.25!important}.opacity-50{opacity:.5!important}.opacity-75{opacity:.75!important}.opacity-100{opacity:1!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:-ms-grid!important;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:-webkit-box!important;display:-ms-flexbox!important;display:flex!important}.d-inline-flex{display:-webkit-inline-box!important;display:-ms-inline-flexbox!important;display:inline-flex!important}.shadow{-webkit-box-shadow:0 .5rem 1rem rgba(0,0,0,.15)!important;box-shadow:0 .5rem 1rem rgba(0,0,0,.15)!important}.shadow-sm{-webkit-box-shadow:0 .125rem .25rem rgba(0,0,0,.075)!important;box-shadow:0 .125rem .25rem rgba(0,0,0,.075)!important}.shadow-lg{-webkit-box-shadow:0 1rem 3rem rgba(0,0,0,.175)!important;box-shadow:0 1rem 3rem rgba(0,0,0,.175)!important}.shadow-none{-webkit-box-shadow:none!important;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{-webkit-transform:translate(-50%,-50%)!important;transform:translate(-50%,-50%)!important}.translate-middle-x{-webkit-transform:translateX(-50%)!important;transform:translateX(-50%)!important}.translate-middle-y{-webkit-transform:translateY(-50%)!important;transform:translateY(-50%)!important}.border{border:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-0{border:0!important}.border-top{border-top:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-top-0{border-top:0!important}.border-end{border-right:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-end-0{border-right:0!important}.border-bottom{border-bottom:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-bottom-0{border-bottom:0!important}.border-start{border-left:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-start-0{border-left:0!important}.border-primary{border-color:rgba(var(--bs-primary-rgb),var(--bs-border-opacity))!important}.border-secondary{border-color:rgba(var(--bs-secondary-rgb),var(--bs-border-opacity))!important}.border-success{border-color:rgba(var(--bs-success-rgb),var(--bs-border-opacity))!important}.border-info{border-color:rgba(var(--bs-info-rgb),var(--bs-border-opacity))!important}.border-warning{border-color:rgba(var(--bs-warning-rgb),var(--bs-border-opacity))!important}.border-danger{border-color:rgba(var(--bs-danger-rgb),var(--bs-border-opacity))!important}.border-light{border-color:rgba(var(--bs-light-rgb),var(--bs-border-opacity))!important}.border-dark{border-color:rgba(var(--bs-dark-rgb),var(--bs-border-opacity))!important}.border-white{border-color:rgba(var(--bs-white-rgb),var(--bs-border-opacity))!important}.border-2{--bs-border-width:2px}.border-3{--bs-border-width:3px}.border-4{--bs-border-width:4px}.border-5{--bs-border-width:5px}.border-opacity-10{--bs-border-opacity:0.1}.border-opacity-25{--bs-border-opacity:0.25}.border-opacity-50{--bs-border-opacity:0.5}.border-opacity-75{--bs-border-opacity:0.75}.border-opacity-100{--bs-border-opacity:1}.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{-webkit-box-flex:1!important;-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-row{-webkit-box-orient:horizontal!important;-ms-flex-direction:row!important;flex-direction:row!important}.flex-column{-webkit-box-orient:vertical!important;-ms-flex-direction:column!important;flex-direction:column!important}.flex-column-reverse,.flex-row-reverse{-webkit-box-direction:reverse!important}.flex-row-reverse{-webkit-box-orient:horizontal!important;-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-column-reverse{-webkit-box-orient:vertical!important;-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-grow-0{-webkit-box-flex:0!important;-ms-flex-positive:0!important;flex-grow:0!important}.flex-grow-1{-webkit-box-flex:1!important;-ms-flex-positive:1!important;flex-grow:1!important}.flex-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.flex-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.justify-content-start{-webkit-box-pack:start!important;-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-end{-webkit-box-pack:end!important;-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-center{-webkit-box-pack:center!important;-ms-flex-pack:center!important;justify-content:center!important}.justify-content-between{-webkit-box-pack:justify!important;-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.justify-content-evenly{-webkit-box-pack:space-evenly!important;-ms-flex-pack:space-evenly!important;justify-content:space-evenly!important}.align-items-start{-webkit-box-align:start!important;-ms-flex-align:start!important;align-items:flex-start!important}.align-items-end{-webkit-box-align:end!important;-ms-flex-align:end!important;align-items:flex-end!important}.align-items-center{-webkit-box-align:center!important;-ms-flex-align:center!important;align-items:center!important}.align-items-baseline{-webkit-box-align:baseline!important;-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-stretch{-webkit-box-align:stretch!important;-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-auto{-ms-flex-item-align:auto!important;-ms-grid-row-align:auto!important;align-self:auto!important}.align-self-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-center{-ms-flex-item-align:center!important;-ms-grid-row-align:center!important;align-self:center!important}.align-self-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-stretch{-ms-flex-item-align:stretch!important;-ms-grid-row-align:stretch!important;align-self:stretch!important}.order-first{-webkit-box-ordinal-group:0!important;-ms-flex-order:-1!important;order:-1!important}.order-0{-webkit-box-ordinal-group:1!important;-ms-flex-order:0!important;order:0!important}.order-1{-webkit-box-ordinal-group:2!important;-ms-flex-order:1!important;order:1!important}.order-2{-webkit-box-ordinal-group:3!important;-ms-flex-order:2!important;order:2!important}.order-3{-webkit-box-ordinal-group:4!important;-ms-flex-order:3!important;order:3!important}.order-4{-webkit-box-ordinal-group:5!important;-ms-flex-order:4!important;order:4!important}.order-5{-webkit-box-ordinal-group:6!important;-ms-flex-order:5!important;order:5!important}.order-last{-webkit-box-ordinal-group:7!important;-ms-flex-order:6!important;order:6!important}.m-0{margin:0!important}.m-1{margin:.25rem!important}.m-2{margin:.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:.25rem!important;margin-left:.25rem!important}.mx-2{margin-right:.5rem!important;margin-left:.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:.25rem!important;margin-bottom:.25rem!important}.my-2{margin-top:.5rem!important;margin-bottom:.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:.25rem!important}.mt-2{margin-top:.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:.25rem!important}.me-2{margin-right:.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:.25rem!important}.mb-2{margin-bottom:.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:.25rem!important}.ms-2{margin-left:.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}.p-0{padding:0!important}.p-1{padding:.25rem!important}.p-2{padding:.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:.25rem!important;padding-left:.25rem!important}.px-2{padding-right:.5rem!important;padding-left:.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:.25rem!important;padding-bottom:.25rem!important}.py-2{padding-top:.5rem!important;padding-bottom:.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:.25rem!important}.pt-2{padding-top:.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:.25rem!important}.pe-2{padding-right:.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:.25rem!important}.pb-2{padding-bottom:.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:.25rem!important}.ps-2{padding-left:.5rem!important}.ps-3{padding-left:1rem!important}.ps-4{padding-left:1.5rem!important}.ps-5{padding-left:3rem!important}.gap-0{gap:0!important}.gap-1{gap:.25rem!important}.gap-2{gap:.5rem!important}.gap-3{gap:1rem!important}.gap-4{gap:1.5rem!important}.gap-5{gap:3rem!important}.font-monospace{font-family:var(--bs-font-monospace)!important}.fs-1{font-size:calc(1.375rem + 1.5vw)!important}.fs-2{font-size:calc(1.325rem + .9vw)!important}.fs-3{font-size:calc(1.3rem + .6vw)!important}.fs-4{font-size:calc(1.275rem + .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-semibold{font-weight:600!important}.fw-bolder{font-weight:bolder!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}.text-start{text-align:left!important}.text-end{text-align:right!important}.text-center{text-align:center!important}.text-decoration-none{text-decoration:none!important}.text-decoration-underline{text-decoration:underline!important}.text-decoration-line-through{text-decoration:line-through!important}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.text-wrap{white-space:normal!important}.text-nowrap{white-space:nowrap!important}.text-break{word-wrap:break-word!important;word-break:break-word!important}.text-primary{color:rgba(var(--bs-primary-rgb),var(--bs-text-opacity))!important}.text-secondary{color:rgba(var(--bs-secondary-rgb),var(--bs-text-opacity))!important}.text-success{color:rgba(var(--bs-success-rgb),var(--bs-text-opacity))!important}.text-info{color:rgba(var(--bs-info-rgb),var(--bs-text-opacity))!important}.text-warning{color:rgba(var(--bs-warning-rgb),var(--bs-text-opacity))!important}.text-danger{color:rgba(var(--bs-danger-rgb),var(--bs-text-opacity))!important}.text-light{color:rgba(var(--bs-light-rgb),var(--bs-text-opacity))!important}.text-dark{color:rgba(var(--bs-dark-rgb),var(--bs-text-opacity))!important}.text-black{color:rgba(var(--bs-black-rgb),var(--bs-text-opacity))!important}.text-white{color:rgba(var(--bs-white-rgb),var(--bs-text-opacity))!important}.text-body{color:rgba(var(--bs-body-color-rgb),var(--bs-text-opacity))!important}.text-muted{color:#ced4da!important}.text-black-50{color:rgba(0,0,0,.5)!important}.text-white-50{color:rgba(255,255,255,.5)!important}.text-reset{color:inherit!important}.text-opacity-25{--bs-text-opacity:0.25}.text-opacity-50{--bs-text-opacity:0.5}.text-opacity-75{--bs-text-opacity:0.75}.text-opacity-100{--bs-text-opacity:1}.bg-primary{background-color:rgba(var(--bs-primary-rgb),var(--bs-bg-opacity))!important}.bg-secondary{background-color:rgba(var(--bs-secondary-rgb),var(--bs-bg-opacity))!important}.bg-success{background-color:rgba(var(--bs-success-rgb),var(--bs-bg-opacity))!important}.bg-info{background-color:rgba(var(--bs-info-rgb),var(--bs-bg-opacity))!important}.bg-warning{background-color:rgba(var(--bs-warning-rgb),var(--bs-bg-opacity))!important}.bg-danger{background-color:rgba(var(--bs-danger-rgb),var(--bs-bg-opacity))!important}.bg-light{background-color:rgba(var(--bs-light-rgb),var(--bs-bg-opacity))!important}.bg-dark{background-color:rgba(var(--bs-dark-rgb),var(--bs-bg-opacity))!important}.bg-black{background-color:rgba(var(--bs-black-rgb),var(--bs-bg-opacity))!important}.bg-white{background-color:rgba(var(--bs-white-rgb),var(--bs-bg-opacity))!important}.bg-body{background-color:rgba(var(--bs-body-bg-rgb),var(--bs-bg-opacity))!important}.bg-transparent{background-color:transparent!important}.bg-opacity-10{--bs-bg-opacity:0.1}.bg-opacity-25{--bs-bg-opacity:0.25}.bg-opacity-50{--bs-bg-opacity:0.5}.bg-opacity-75{--bs-bg-opacity:0.75}.bg-opacity-100{--bs-bg-opacity:1}.bg-gradient{background-image:var(--bs-gradient)!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}.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,.rounded-2{border-radius:var(--bs-border-radius)!important}.rounded-0{border-radius:0!important}.rounded-1{border-radius:var(--bs-border-radius-sm)!important}.rounded-3{border-radius:var(--bs-border-radius-lg)!important}.rounded-4{border-radius:var(--bs-border-radius-xl)!important}.rounded-5{border-radius:var(--bs-border-radius-2xl)!important}.rounded-circle{border-radius:50%!important}.rounded-pill{border-radius:var(--bs-border-radius-pill)!important}.rounded-end,.rounded-top{border-top-right-radius:var(--bs-border-radius)!important}.rounded-bottom,.rounded-end{border-bottom-right-radius:var(--bs-border-radius)!important}.rounded-bottom,.rounded-start{border-bottom-left-radius:var(--bs-border-radius)!important}.rounded-start,.rounded-top{border-top-left-radius:var(--bs-border-radius)!important}.visible{visibility:visible!important}.invisible{visibility:hidden!important}@media (min-width:576px){.dropdown-menu-sm-start{--bs-position:start}.dropdown-menu-sm-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-sm-end{--bs-position:end}.dropdown-menu-sm-end[data-bs-popper]{right:0;left:auto}.navbar-expand-sm{-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.list-group-horizontal-sm,.navbar-expand-sm .navbar-nav{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-sm .navbar-nav-scroll{overflow:visible}.navbar-expand-sm .navbar-collapse{display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-sm .navbar-toggler,.navbar-expand-sm .offcanvas .offcanvas-header,.offcanvas-sm .offcanvas-header{display:none}.navbar-expand-sm .offcanvas{position:static;z-index:auto;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;-webkit-transform:none!important;transform:none!important;-webkit-transition:none;transition:none}.navbar-expand-sm .offcanvas .offcanvas-body{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;padding:0;overflow-y:visible}.card-group{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-flow:row wrap;flex-flow:row wrap}.card-group>.card{-webkit-box-flex:1;-ms-flex:1 0 0%;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-header,.card-group>.card:not(:last-child) .card-img-top{border-top-right-radius:0}.card-group>.card:not(:last-child) .card-footer,.card-group>.card:not(:last-child) .card-img-bottom{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-header,.card-group>.card:not(:first-child) .card-img-top{border-top-left-radius:0}.card-group>.card:not(:first-child) .card-footer,.card-group>.card:not(:first-child) .card-img-bottom{border-bottom-left-radius:0}.list-group-horizontal-sm>.list-group-item:first-child{border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-sm>.list-group-item:last-child{border-top-right-radius:var(--bs-list-group-border-radius);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:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-sm>.list-group-item+.list-group-item.active{margin-left:calc(var(--bs-list-group-border-width) * -1);border-left-width:var(--bs-list-group-border-width)}.modal{--bs-modal-margin:1.75rem;--bs-modal-box-shadow:0 0.5rem 1rem rgba(0, 0, 0, 0.15)}.modal-dialog{max-width:var(--bs-modal-width);margin-right:auto;margin-left:auto}.modal-sm{--bs-modal-width:300px}.offcanvas-sm{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-sm .offcanvas-body{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}.sticky-sm-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-sm-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}.flex-sm-column,.flex-sm-row{-webkit-box-direction:normal!important}.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:-ms-grid!important;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:-webkit-box!important;display:-ms-flexbox!important;display:flex!important}.d-sm-inline-flex{display:-webkit-inline-box!important;display:-ms-inline-flexbox!important;display:inline-flex!important}.d-sm-none{display:none!important}.flex-sm-fill{-webkit-box-flex:1!important;-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-sm-row{-webkit-box-orient:horizontal!important;-ms-flex-direction:row!important;flex-direction:row!important}.flex-sm-column{-webkit-box-orient:vertical!important;-ms-flex-direction:column!important;flex-direction:column!important}.flex-sm-row-reverse{-webkit-box-orient:horizontal!important;-webkit-box-direction:reverse!important;-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-sm-column-reverse{-webkit-box-orient:vertical!important;-webkit-box-direction:reverse!important;-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-sm-grow-0{-webkit-box-flex:0!important;-ms-flex-positive:0!important;flex-grow:0!important}.flex-sm-grow-1{-webkit-box-flex:1!important;-ms-flex-positive:1!important;flex-grow:1!important}.flex-sm-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-sm-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.flex-sm-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-sm-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-sm-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.justify-content-sm-start{-webkit-box-pack:start!important;-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-sm-end{-webkit-box-pack:end!important;-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-sm-center{-webkit-box-pack:center!important;-ms-flex-pack:center!important;justify-content:center!important}.justify-content-sm-between{-webkit-box-pack:justify!important;-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-sm-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.justify-content-sm-evenly{-webkit-box-pack:space-evenly!important;-ms-flex-pack:space-evenly!important;justify-content:space-evenly!important}.align-items-sm-start{-webkit-box-align:start!important;-ms-flex-align:start!important;align-items:flex-start!important}.align-items-sm-end{-webkit-box-align:end!important;-ms-flex-align:end!important;align-items:flex-end!important}.align-items-sm-center{-webkit-box-align:center!important;-ms-flex-align:center!important;align-items:center!important}.align-items-sm-baseline{-webkit-box-align:baseline!important;-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-sm-stretch{-webkit-box-align:stretch!important;-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-sm-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-sm-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-sm-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-sm-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-sm-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-sm-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-sm-auto{-ms-flex-item-align:auto!important;-ms-grid-row-align:auto!important;align-self:auto!important}.align-self-sm-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-sm-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-sm-center{-ms-flex-item-align:center!important;-ms-grid-row-align:center!important;align-self:center!important}.align-self-sm-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-sm-stretch{-ms-flex-item-align:stretch!important;-ms-grid-row-align:stretch!important;align-self:stretch!important}.order-sm-first{-webkit-box-ordinal-group:0!important;-ms-flex-order:-1!important;order:-1!important}.order-sm-0{-webkit-box-ordinal-group:1!important;-ms-flex-order:0!important;order:0!important}.order-sm-1{-webkit-box-ordinal-group:2!important;-ms-flex-order:1!important;order:1!important}.order-sm-2{-webkit-box-ordinal-group:3!important;-ms-flex-order:2!important;order:2!important}.order-sm-3{-webkit-box-ordinal-group:4!important;-ms-flex-order:3!important;order:3!important}.order-sm-4{-webkit-box-ordinal-group:5!important;-ms-flex-order:4!important;order:4!important}.order-sm-5{-webkit-box-ordinal-group:6!important;-ms-flex-order:5!important;order:5!important}.order-sm-last{-webkit-box-ordinal-group:7!important;-ms-flex-order:6!important;order:6!important}.m-sm-0{margin:0!important}.m-sm-1{margin:.25rem!important}.m-sm-2{margin:.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:.25rem!important;margin-left:.25rem!important}.mx-sm-2{margin-right:.5rem!important;margin-left:.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:.25rem!important;margin-bottom:.25rem!important}.my-sm-2{margin-top:.5rem!important;margin-bottom:.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:.25rem!important}.mt-sm-2{margin-top:.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:.25rem!important}.me-sm-2{margin-right:.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:.25rem!important}.mb-sm-2{margin-bottom:.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:.25rem!important}.ms-sm-2{margin-left:.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}.p-sm-0{padding:0!important}.p-sm-1{padding:.25rem!important}.p-sm-2{padding:.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:.25rem!important;padding-left:.25rem!important}.px-sm-2{padding-right:.5rem!important;padding-left:.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:.25rem!important;padding-bottom:.25rem!important}.py-sm-2{padding-top:.5rem!important;padding-bottom:.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:.25rem!important}.pt-sm-2{padding-top:.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:.25rem!important}.pe-sm-2{padding-right:.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:.25rem!important}.pb-sm-2{padding-bottom:.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:.25rem!important}.ps-sm-2{padding-left:.5rem!important}.ps-sm-3{padding-left:1rem!important}.ps-sm-4{padding-left:1.5rem!important}.ps-sm-5{padding-left:3rem!important}.gap-sm-0{gap:0!important}.gap-sm-1{gap:.25rem!important}.gap-sm-2{gap:.5rem!important}.gap-sm-3{gap:1rem!important}.gap-sm-4{gap:1.5rem!important}.gap-sm-5{gap: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){.dropdown-menu-md-start{--bs-position:start}.dropdown-menu-md-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-md-end{--bs-position:end}.dropdown-menu-md-end[data-bs-popper]{right:0;left:auto}.navbar-expand-md{-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.list-group-horizontal-md,.navbar-expand-md .navbar-nav{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-md .navbar-nav-scroll{overflow:visible}.navbar-expand-md .navbar-collapse{display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-md .navbar-toggler,.navbar-expand-md .offcanvas .offcanvas-header,.offcanvas-md .offcanvas-header{display:none}.navbar-expand-md .offcanvas{position:static;z-index:auto;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;-webkit-transform:none!important;transform:none!important;-webkit-transition:none;transition:none}.navbar-expand-md .offcanvas .offcanvas-body{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;padding:0;overflow-y:visible}.list-group-horizontal-md>.list-group-item:first-child{border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-md>.list-group-item:last-child{border-top-right-radius:var(--bs-list-group-border-radius);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:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-md>.list-group-item+.list-group-item.active{margin-left:calc(var(--bs-list-group-border-width) * -1);border-left-width:var(--bs-list-group-border-width)}.offcanvas-md{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-md .offcanvas-body{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}.sticky-md-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-md-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}.flex-md-column,.flex-md-row{-webkit-box-direction:normal!important}.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:-ms-grid!important;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:-webkit-box!important;display:-ms-flexbox!important;display:flex!important}.d-md-inline-flex{display:-webkit-inline-box!important;display:-ms-inline-flexbox!important;display:inline-flex!important}.d-md-none{display:none!important}.flex-md-fill{-webkit-box-flex:1!important;-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-md-row{-webkit-box-orient:horizontal!important;-ms-flex-direction:row!important;flex-direction:row!important}.flex-md-column{-webkit-box-orient:vertical!important;-ms-flex-direction:column!important;flex-direction:column!important}.flex-md-row-reverse{-webkit-box-orient:horizontal!important;-webkit-box-direction:reverse!important;-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-md-column-reverse{-webkit-box-orient:vertical!important;-webkit-box-direction:reverse!important;-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-md-grow-0{-webkit-box-flex:0!important;-ms-flex-positive:0!important;flex-grow:0!important}.flex-md-grow-1{-webkit-box-flex:1!important;-ms-flex-positive:1!important;flex-grow:1!important}.flex-md-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-md-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.flex-md-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-md-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-md-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.justify-content-md-start{-webkit-box-pack:start!important;-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-md-end{-webkit-box-pack:end!important;-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-md-center{-webkit-box-pack:center!important;-ms-flex-pack:center!important;justify-content:center!important}.justify-content-md-between{-webkit-box-pack:justify!important;-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-md-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.justify-content-md-evenly{-webkit-box-pack:space-evenly!important;-ms-flex-pack:space-evenly!important;justify-content:space-evenly!important}.align-items-md-start{-webkit-box-align:start!important;-ms-flex-align:start!important;align-items:flex-start!important}.align-items-md-end{-webkit-box-align:end!important;-ms-flex-align:end!important;align-items:flex-end!important}.align-items-md-center{-webkit-box-align:center!important;-ms-flex-align:center!important;align-items:center!important}.align-items-md-baseline{-webkit-box-align:baseline!important;-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-md-stretch{-webkit-box-align:stretch!important;-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-md-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-md-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-md-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-md-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-md-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-md-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-md-auto{-ms-flex-item-align:auto!important;-ms-grid-row-align:auto!important;align-self:auto!important}.align-self-md-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-md-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-md-center{-ms-flex-item-align:center!important;-ms-grid-row-align:center!important;align-self:center!important}.align-self-md-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-md-stretch{-ms-flex-item-align:stretch!important;-ms-grid-row-align:stretch!important;align-self:stretch!important}.order-md-first{-webkit-box-ordinal-group:0!important;-ms-flex-order:-1!important;order:-1!important}.order-md-0{-webkit-box-ordinal-group:1!important;-ms-flex-order:0!important;order:0!important}.order-md-1{-webkit-box-ordinal-group:2!important;-ms-flex-order:1!important;order:1!important}.order-md-2{-webkit-box-ordinal-group:3!important;-ms-flex-order:2!important;order:2!important}.order-md-3{-webkit-box-ordinal-group:4!important;-ms-flex-order:3!important;order:3!important}.order-md-4{-webkit-box-ordinal-group:5!important;-ms-flex-order:4!important;order:4!important}.order-md-5{-webkit-box-ordinal-group:6!important;-ms-flex-order:5!important;order:5!important}.order-md-last{-webkit-box-ordinal-group:7!important;-ms-flex-order:6!important;order:6!important}.m-md-0{margin:0!important}.m-md-1{margin:.25rem!important}.m-md-2{margin:.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:.25rem!important;margin-left:.25rem!important}.mx-md-2{margin-right:.5rem!important;margin-left:.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:.25rem!important;margin-bottom:.25rem!important}.my-md-2{margin-top:.5rem!important;margin-bottom:.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:.25rem!important}.mt-md-2{margin-top:.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:.25rem!important}.me-md-2{margin-right:.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:.25rem!important}.mb-md-2{margin-bottom:.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:.25rem!important}.ms-md-2{margin-left:.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}.p-md-0{padding:0!important}.p-md-1{padding:.25rem!important}.p-md-2{padding:.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:.25rem!important;padding-left:.25rem!important}.px-md-2{padding-right:.5rem!important;padding-left:.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:.25rem!important;padding-bottom:.25rem!important}.py-md-2{padding-top:.5rem!important;padding-bottom:.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:.25rem!important}.pt-md-2{padding-top:.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:.25rem!important}.pe-md-2{padding-right:.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:.25rem!important}.pb-md-2{padding-bottom:.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:.25rem!important}.ps-md-2{padding-left:.5rem!important}.ps-md-3{padding-left:1rem!important}.ps-md-4{padding-left:1.5rem!important}.ps-md-5{padding-left:3rem!important}.gap-md-0{gap:0!important}.gap-md-1{gap:.25rem!important}.gap-md-2{gap:.5rem!important}.gap-md-3{gap:1rem!important}.gap-md-4{gap:1.5rem!important}.gap-md-5{gap: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){.dropdown-menu-lg-start{--bs-position:start}.dropdown-menu-lg-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-lg-end{--bs-position:end}.dropdown-menu-lg-end[data-bs-popper]{right:0;left:auto}.navbar-expand-lg{-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.list-group-horizontal-lg,.navbar-expand-lg .navbar-nav{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-lg .navbar-nav-scroll{overflow:visible}.navbar-expand-lg .navbar-collapse{display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-lg .navbar-toggler,.navbar-expand-lg .offcanvas .offcanvas-header,.offcanvas-lg .offcanvas-header{display:none}.navbar-expand-lg .offcanvas{position:static;z-index:auto;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;-webkit-transform:none!important;transform:none!important;-webkit-transition:none;transition:none}.navbar-expand-lg .offcanvas .offcanvas-body{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;padding:0;overflow-y:visible}.list-group-horizontal-lg>.list-group-item:first-child{border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-lg>.list-group-item:last-child{border-top-right-radius:var(--bs-list-group-border-radius);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:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-lg>.list-group-item+.list-group-item.active{margin-left:calc(var(--bs-list-group-border-width) * -1);border-left-width:var(--bs-list-group-border-width)}.modal-lg,.modal-xl{--bs-modal-width:800px}.offcanvas-lg{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-lg .offcanvas-body{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}.sticky-lg-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-lg-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}.flex-lg-column,.flex-lg-row{-webkit-box-direction:normal!important}.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:-ms-grid!important;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:-webkit-box!important;display:-ms-flexbox!important;display:flex!important}.d-lg-inline-flex{display:-webkit-inline-box!important;display:-ms-inline-flexbox!important;display:inline-flex!important}.d-lg-none{display:none!important}.flex-lg-fill{-webkit-box-flex:1!important;-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-lg-row{-webkit-box-orient:horizontal!important;-ms-flex-direction:row!important;flex-direction:row!important}.flex-lg-column{-webkit-box-orient:vertical!important;-ms-flex-direction:column!important;flex-direction:column!important}.flex-lg-row-reverse{-webkit-box-orient:horizontal!important;-webkit-box-direction:reverse!important;-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-lg-column-reverse{-webkit-box-orient:vertical!important;-webkit-box-direction:reverse!important;-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-lg-grow-0{-webkit-box-flex:0!important;-ms-flex-positive:0!important;flex-grow:0!important}.flex-lg-grow-1{-webkit-box-flex:1!important;-ms-flex-positive:1!important;flex-grow:1!important}.flex-lg-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-lg-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.flex-lg-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-lg-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-lg-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.justify-content-lg-start{-webkit-box-pack:start!important;-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-lg-end{-webkit-box-pack:end!important;-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-lg-center{-webkit-box-pack:center!important;-ms-flex-pack:center!important;justify-content:center!important}.justify-content-lg-between{-webkit-box-pack:justify!important;-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-lg-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.justify-content-lg-evenly{-webkit-box-pack:space-evenly!important;-ms-flex-pack:space-evenly!important;justify-content:space-evenly!important}.align-items-lg-start{-webkit-box-align:start!important;-ms-flex-align:start!important;align-items:flex-start!important}.align-items-lg-end{-webkit-box-align:end!important;-ms-flex-align:end!important;align-items:flex-end!important}.align-items-lg-center{-webkit-box-align:center!important;-ms-flex-align:center!important;align-items:center!important}.align-items-lg-baseline{-webkit-box-align:baseline!important;-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-lg-stretch{-webkit-box-align:stretch!important;-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-lg-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-lg-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-lg-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-lg-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-lg-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-lg-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-lg-auto{-ms-flex-item-align:auto!important;-ms-grid-row-align:auto!important;align-self:auto!important}.align-self-lg-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-lg-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-lg-center{-ms-flex-item-align:center!important;-ms-grid-row-align:center!important;align-self:center!important}.align-self-lg-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-lg-stretch{-ms-flex-item-align:stretch!important;-ms-grid-row-align:stretch!important;align-self:stretch!important}.order-lg-first{-webkit-box-ordinal-group:0!important;-ms-flex-order:-1!important;order:-1!important}.order-lg-0{-webkit-box-ordinal-group:1!important;-ms-flex-order:0!important;order:0!important}.order-lg-1{-webkit-box-ordinal-group:2!important;-ms-flex-order:1!important;order:1!important}.order-lg-2{-webkit-box-ordinal-group:3!important;-ms-flex-order:2!important;order:2!important}.order-lg-3{-webkit-box-ordinal-group:4!important;-ms-flex-order:3!important;order:3!important}.order-lg-4{-webkit-box-ordinal-group:5!important;-ms-flex-order:4!important;order:4!important}.order-lg-5{-webkit-box-ordinal-group:6!important;-ms-flex-order:5!important;order:5!important}.order-lg-last{-webkit-box-ordinal-group:7!important;-ms-flex-order:6!important;order:6!important}.m-lg-0{margin:0!important}.m-lg-1{margin:.25rem!important}.m-lg-2{margin:.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:.25rem!important;margin-left:.25rem!important}.mx-lg-2{margin-right:.5rem!important;margin-left:.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:.25rem!important;margin-bottom:.25rem!important}.my-lg-2{margin-top:.5rem!important;margin-bottom:.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:.25rem!important}.mt-lg-2{margin-top:.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:.25rem!important}.me-lg-2{margin-right:.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:.25rem!important}.mb-lg-2{margin-bottom:.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:.25rem!important}.ms-lg-2{margin-left:.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}.p-lg-0{padding:0!important}.p-lg-1{padding:.25rem!important}.p-lg-2{padding:.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:.25rem!important;padding-left:.25rem!important}.px-lg-2{padding-right:.5rem!important;padding-left:.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:.25rem!important;padding-bottom:.25rem!important}.py-lg-2{padding-top:.5rem!important;padding-bottom:.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:.25rem!important}.pt-lg-2{padding-top:.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:.25rem!important}.pe-lg-2{padding-right:.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:.25rem!important}.pb-lg-2{padding-bottom:.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:.25rem!important}.ps-lg-2{padding-left:.5rem!important}.ps-lg-3{padding-left:1rem!important}.ps-lg-4{padding-left:1.5rem!important}.ps-lg-5{padding-left:3rem!important}.gap-lg-0{gap:0!important}.gap-lg-1{gap:.25rem!important}.gap-lg-2{gap:.5rem!important}.gap-lg-3{gap:1rem!important}.gap-lg-4{gap:1.5rem!important}.gap-lg-5{gap: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:1400px){.container,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{max-width:1320px}.col-xxl{-webkit-box-flex:1;-ms-flex:1 0 0%;flex:1 0 0%}.col-xxl-auto,.row-cols-xxl-auto>*{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-xxl-12,.row-cols-xxl-1>*{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.col-xxl-6,.row-cols-xxl-2>*{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.col-xxl-4,.row-cols-xxl-3>*{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:33.33333%}.col-xxl-3,.row-cols-xxl-4>*{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.row-cols-xxl-5>*{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:20%}.col-xxl-2,.row-cols-xxl-6>*{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:16.66667%}.col-xxl-1{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:8.33333%}.col-xxl-5{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:41.66667%}.col-xxl-7{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:58.33333%}.col-xxl-8{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:66.66667%}.col-xxl-9{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:75%}.col-xxl-10{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:83.33333%}.col-xxl-11{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:91.66667%}.offset-xxl-0{margin-left:0}.offset-xxl-1{margin-left:8.33333%}.offset-xxl-2{margin-left:16.66667%}.offset-xxl-3{margin-left:25%}.offset-xxl-4{margin-left:33.33333%}.offset-xxl-5{margin-left:41.66667%}.offset-xxl-6{margin-left:50%}.offset-xxl-7{margin-left:58.33333%}.offset-xxl-8{margin-left:66.66667%}.offset-xxl-9{margin-left:75%}.offset-xxl-10{margin-left:83.33333%}.offset-xxl-11{margin-left:91.66667%}.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}.dropdown-menu-xxl-start{--bs-position:start}.dropdown-menu-xxl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xxl-end{--bs-position:end}.dropdown-menu-xxl-end[data-bs-popper]{right:0;left:auto}.navbar-expand-xxl{-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.list-group-horizontal-xxl,.navbar-expand-xxl .navbar-nav{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.navbar-expand-xxl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xxl .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-xxl .navbar-nav-scroll{overflow:visible}.navbar-expand-xxl .navbar-collapse{display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-xxl .navbar-toggler,.navbar-expand-xxl .offcanvas .offcanvas-header,.offcanvas-xxl .offcanvas-header{display:none}.navbar-expand-xxl .offcanvas{position:static;z-index:auto;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;-webkit-transform:none!important;transform:none!important;-webkit-transition:none;transition:none}.navbar-expand-xxl .offcanvas .offcanvas-body{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;padding:0;overflow-y:visible}.list-group-horizontal-xxl>.list-group-item:first-child{border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-xxl>.list-group-item:last-child{border-top-right-radius:var(--bs-list-group-border-radius);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:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item.active{margin-left:calc(var(--bs-list-group-border-width) * -1);border-left-width:var(--bs-list-group-border-width)}.offcanvas-xxl{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-xxl .offcanvas-body{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}.sticky-xxl-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-xxl-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}.flex-xxl-column,.flex-xxl-row{-webkit-box-direction:normal!important}.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:-ms-grid!important;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:-webkit-box!important;display:-ms-flexbox!important;display:flex!important}.d-xxl-inline-flex{display:-webkit-inline-box!important;display:-ms-inline-flexbox!important;display:inline-flex!important}.d-xxl-none{display:none!important}.flex-xxl-fill{-webkit-box-flex:1!important;-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-xxl-row{-webkit-box-orient:horizontal!important;-ms-flex-direction:row!important;flex-direction:row!important}.flex-xxl-column{-webkit-box-orient:vertical!important;-ms-flex-direction:column!important;flex-direction:column!important}.flex-xxl-row-reverse{-webkit-box-orient:horizontal!important;-webkit-box-direction:reverse!important;-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-xxl-column-reverse{-webkit-box-orient:vertical!important;-webkit-box-direction:reverse!important;-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-xxl-grow-0{-webkit-box-flex:0!important;-ms-flex-positive:0!important;flex-grow:0!important}.flex-xxl-grow-1{-webkit-box-flex:1!important;-ms-flex-positive:1!important;flex-grow:1!important}.flex-xxl-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-xxl-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.flex-xxl-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-xxl-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-xxl-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.justify-content-xxl-start{-webkit-box-pack:start!important;-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-xxl-end{-webkit-box-pack:end!important;-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-xxl-center{-webkit-box-pack:center!important;-ms-flex-pack:center!important;justify-content:center!important}.justify-content-xxl-between{-webkit-box-pack:justify!important;-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-xxl-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.justify-content-xxl-evenly{-webkit-box-pack:space-evenly!important;-ms-flex-pack:space-evenly!important;justify-content:space-evenly!important}.align-items-xxl-start{-webkit-box-align:start!important;-ms-flex-align:start!important;align-items:flex-start!important}.align-items-xxl-end{-webkit-box-align:end!important;-ms-flex-align:end!important;align-items:flex-end!important}.align-items-xxl-center{-webkit-box-align:center!important;-ms-flex-align:center!important;align-items:center!important}.align-items-xxl-baseline{-webkit-box-align:baseline!important;-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-xxl-stretch{-webkit-box-align:stretch!important;-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-xxl-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-xxl-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-xxl-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-xxl-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-xxl-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-xxl-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-xxl-auto{-ms-flex-item-align:auto!important;-ms-grid-row-align:auto!important;align-self:auto!important}.align-self-xxl-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-xxl-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-xxl-center{-ms-flex-item-align:center!important;-ms-grid-row-align:center!important;align-self:center!important}.align-self-xxl-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-xxl-stretch{-ms-flex-item-align:stretch!important;-ms-grid-row-align:stretch!important;align-self:stretch!important}.order-xxl-first{-webkit-box-ordinal-group:0!important;-ms-flex-order:-1!important;order:-1!important}.order-xxl-0{-webkit-box-ordinal-group:1!important;-ms-flex-order:0!important;order:0!important}.order-xxl-1{-webkit-box-ordinal-group:2!important;-ms-flex-order:1!important;order:1!important}.order-xxl-2{-webkit-box-ordinal-group:3!important;-ms-flex-order:2!important;order:2!important}.order-xxl-3{-webkit-box-ordinal-group:4!important;-ms-flex-order:3!important;order:3!important}.order-xxl-4{-webkit-box-ordinal-group:5!important;-ms-flex-order:4!important;order:4!important}.order-xxl-5{-webkit-box-ordinal-group:6!important;-ms-flex-order:5!important;order:5!important}.order-xxl-last{-webkit-box-ordinal-group:7!important;-ms-flex-order:6!important;order:6!important}.m-xxl-0{margin:0!important}.m-xxl-1{margin:.25rem!important}.m-xxl-2{margin:.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:.25rem!important;margin-left:.25rem!important}.mx-xxl-2{margin-right:.5rem!important;margin-left:.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:.25rem!important;margin-bottom:.25rem!important}.my-xxl-2{margin-top:.5rem!important;margin-bottom:.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:.25rem!important}.mt-xxl-2{margin-top:.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:.25rem!important}.me-xxl-2{margin-right:.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:.25rem!important}.mb-xxl-2{margin-bottom:.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:.25rem!important}.ms-xxl-2{margin-left:.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}.p-xxl-0{padding:0!important}.p-xxl-1{padding:.25rem!important}.p-xxl-2{padding:.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:.25rem!important;padding-left:.25rem!important}.px-xxl-2{padding-right:.5rem!important;padding-left:.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:.25rem!important;padding-bottom:.25rem!important}.py-xxl-2{padding-top:.5rem!important;padding-bottom:.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:.25rem!important}.pt-xxl-2{padding-top:.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:.25rem!important}.pe-xxl-2{padding-right:.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:.25rem!important}.pb-xxl-2{padding-bottom:.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:.25rem!important}.ps-xxl-2{padding-left:.5rem!important}.ps-xxl-3{padding-left:1rem!important}.ps-xxl-4{padding-left:1.5rem!important}.ps-xxl-5{padding-left:3rem!important}.gap-xxl-0{gap:0!important}.gap-xxl-1{gap:.25rem!important}.gap-xxl-2{gap:.5rem!important}.gap-xxl-3{gap:1rem!important}.gap-xxl-4{gap:1.5rem!important}.gap-xxl-5{gap: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){.dropdown-menu-xl-start{--bs-position:start}.dropdown-menu-xl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xl-end{--bs-position:end}.dropdown-menu-xl-end[data-bs-popper]{right:0;left:auto}.navbar-expand-xl{-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.list-group-horizontal-xl,.navbar-expand-xl .navbar-nav{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-xl .navbar-nav-scroll{overflow:visible}.navbar-expand-xl .navbar-collapse{display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-xl .navbar-toggler,.navbar-expand-xl .offcanvas .offcanvas-header,.offcanvas-xl .offcanvas-header{display:none}.navbar-expand-xl .offcanvas{position:static;z-index:auto;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;-webkit-transform:none!important;transform:none!important;-webkit-transition:none;transition:none}.navbar-expand-xl .offcanvas .offcanvas-body{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;padding:0;overflow-y:visible}.list-group-horizontal-xl>.list-group-item:first-child{border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-xl>.list-group-item:last-child{border-top-right-radius:var(--bs-list-group-border-radius);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:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-xl>.list-group-item+.list-group-item.active{margin-left:calc(var(--bs-list-group-border-width) * -1);border-left-width:var(--bs-list-group-border-width)}.modal-xl{--bs-modal-width:1140px}.offcanvas-xl{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-xl .offcanvas-body{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}.sticky-xl-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-xl-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}.flex-xl-column,.flex-xl-row{-webkit-box-direction:normal!important}.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:-ms-grid!important;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:-webkit-box!important;display:-ms-flexbox!important;display:flex!important}.d-xl-inline-flex{display:-webkit-inline-box!important;display:-ms-inline-flexbox!important;display:inline-flex!important}.d-xl-none{display:none!important}.flex-xl-fill{-webkit-box-flex:1!important;-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-xl-row{-webkit-box-orient:horizontal!important;-ms-flex-direction:row!important;flex-direction:row!important}.flex-xl-column{-webkit-box-orient:vertical!important;-ms-flex-direction:column!important;flex-direction:column!important}.flex-xl-row-reverse{-webkit-box-orient:horizontal!important;-webkit-box-direction:reverse!important;-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-xl-column-reverse{-webkit-box-orient:vertical!important;-webkit-box-direction:reverse!important;-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-xl-grow-0{-webkit-box-flex:0!important;-ms-flex-positive:0!important;flex-grow:0!important}.flex-xl-grow-1{-webkit-box-flex:1!important;-ms-flex-positive:1!important;flex-grow:1!important}.flex-xl-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-xl-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.flex-xl-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-xl-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-xl-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.justify-content-xl-start{-webkit-box-pack:start!important;-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-xl-end{-webkit-box-pack:end!important;-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-xl-center{-webkit-box-pack:center!important;-ms-flex-pack:center!important;justify-content:center!important}.justify-content-xl-between{-webkit-box-pack:justify!important;-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-xl-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.justify-content-xl-evenly{-webkit-box-pack:space-evenly!important;-ms-flex-pack:space-evenly!important;justify-content:space-evenly!important}.align-items-xl-start{-webkit-box-align:start!important;-ms-flex-align:start!important;align-items:flex-start!important}.align-items-xl-end{-webkit-box-align:end!important;-ms-flex-align:end!important;align-items:flex-end!important}.align-items-xl-center{-webkit-box-align:center!important;-ms-flex-align:center!important;align-items:center!important}.align-items-xl-baseline{-webkit-box-align:baseline!important;-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-xl-stretch{-webkit-box-align:stretch!important;-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-xl-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-xl-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-xl-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-xl-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-xl-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-xl-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-xl-auto{-ms-flex-item-align:auto!important;-ms-grid-row-align:auto!important;align-self:auto!important}.align-self-xl-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-xl-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-xl-center{-ms-flex-item-align:center!important;-ms-grid-row-align:center!important;align-self:center!important}.align-self-xl-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-xl-stretch{-ms-flex-item-align:stretch!important;-ms-grid-row-align:stretch!important;align-self:stretch!important}.order-xl-first{-webkit-box-ordinal-group:0!important;-ms-flex-order:-1!important;order:-1!important}.order-xl-0{-webkit-box-ordinal-group:1!important;-ms-flex-order:0!important;order:0!important}.order-xl-1{-webkit-box-ordinal-group:2!important;-ms-flex-order:1!important;order:1!important}.order-xl-2{-webkit-box-ordinal-group:3!important;-ms-flex-order:2!important;order:2!important}.order-xl-3{-webkit-box-ordinal-group:4!important;-ms-flex-order:3!important;order:3!important}.order-xl-4{-webkit-box-ordinal-group:5!important;-ms-flex-order:4!important;order:4!important}.order-xl-5{-webkit-box-ordinal-group:6!important;-ms-flex-order:5!important;order:5!important}.order-xl-last{-webkit-box-ordinal-group:7!important;-ms-flex-order:6!important;order:6!important}.m-xl-0{margin:0!important}.m-xl-1{margin:.25rem!important}.m-xl-2{margin:.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:.25rem!important;margin-left:.25rem!important}.mx-xl-2{margin-right:.5rem!important;margin-left:.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:.25rem!important;margin-bottom:.25rem!important}.my-xl-2{margin-top:.5rem!important;margin-bottom:.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:.25rem!important}.mt-xl-2{margin-top:.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:.25rem!important}.me-xl-2{margin-right:.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:.25rem!important}.mb-xl-2{margin-bottom:.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:.25rem!important}.ms-xl-2{margin-left:.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}.p-xl-0{padding:0!important}.p-xl-1{padding:.25rem!important}.p-xl-2{padding:.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:.25rem!important;padding-left:.25rem!important}.px-xl-2{padding-right:.5rem!important;padding-left:.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:.25rem!important;padding-bottom:.25rem!important}.py-xl-2{padding-top:.5rem!important;padding-bottom:.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:.25rem!important}.pt-xl-2{padding-top:.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:.25rem!important}.pe-xl-2{padding-right:.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:.25rem!important}.pb-xl-2{padding-bottom:.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:.25rem!important}.ps-xl-2{padding-left:.5rem!important}.ps-xl-3{padding-left:1rem!important}.ps-xl-4{padding-left:1.5rem!important}.ps-xl-5{padding-left:3rem!important}.gap-xl-0{gap:0!important}.gap-xl-1{gap:.25rem!important}.gap-xl-2{gap:.5rem!important}.gap-xl-3{gap:1rem!important}.gap-xl-4{gap:1.5rem!important}.gap-xl-5{gap:3rem!important}.text-xl-start{text-align:left!important}.text-xl-end{text-align:right!important}.text-xl-center{text-align:center!important}.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}}@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:-ms-grid!important;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:-webkit-box!important;display:-ms-flexbox!important;display:flex!important}.d-print-inline-flex{display:-webkit-inline-box!important;display:-ms-inline-flexbox!important;display:inline-flex!important}.d-print-none{display:none!important}} \ No newline at end of file diff --git a/resources/cd_doorlock/html/css/vendor/bootstrap.min.css b/resources/cd_doorlock/html/css/vendor/bootstrap.min.css new file mode 100644 index 000000000..2ab085029 --- /dev/null +++ b/resources/cd_doorlock/html/css/vendor/bootstrap.min.css @@ -0,0 +1,7 @@ +@charset "UTF-8";/*! + * Bootstrap v5.2.0 (https://getbootstrap.com/) + * Copyright 2011-2022 The Bootstrap Authors + * Copyright 2011-2022 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + */:root{--bs-blue:#0d6efd;--bs-indigo:#6610f2;--bs-purple:#6f42c1;--bs-pink:#d63384;--bs-red:#dc3545;--bs-orange:#fd7e14;--bs-yellow:#ffc107;--bs-green:#198754;--bs-teal:#20c997;--bs-cyan:#0dcaf0;--bs-black:#000;--bs-white:#fff;--bs-gray:#6c757d;--bs-gray-dark:#343a40;--bs-gray-100:#f8f9fa;--bs-gray-200:#e9ecef;--bs-gray-300:#dee2e6;--bs-gray-400:#ced4da;--bs-gray-500:#adb5bd;--bs-gray-600:#6c757d;--bs-gray-700:#495057;--bs-gray-800:#343a40;--bs-gray-900:#212529;--bs-primary:#0d6efd;--bs-secondary:#6c757d;--bs-success:#198754;--bs-info:#0dcaf0;--bs-warning:#ffc107;--bs-danger:#dc3545;--bs-light:#f8f9fa;--bs-dark:#212529;--bs-primary-rgb:13,110,253;--bs-secondary-rgb:108,117,125;--bs-success-rgb:25,135,84;--bs-info-rgb:13,202,240;--bs-warning-rgb:255,193,7;--bs-danger-rgb:220,53,69;--bs-light-rgb:248,249,250;--bs-dark-rgb:33,37,41;--bs-white-rgb:255,255,255;--bs-black-rgb:0,0,0;--bs-body-color-rgb:33,37,41;--bs-body-bg-rgb:255,255,255;--bs-font-sans-serif:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans","Liberation Sans",Arial,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));--bs-body-font-family:var(--bs-font-sans-serif);--bs-body-font-size:1rem;--bs-body-font-weight:400;--bs-body-line-height:1.5;--bs-body-color:#212529;--bs-body-bg:#fff;--bs-border-width:1px;--bs-border-style:solid;--bs-border-color:#dee2e6;--bs-border-color-translucent:rgba(0, 0, 0, 0.175);--bs-border-radius:0.375rem;--bs-border-radius-sm:0.25rem;--bs-border-radius-lg:0.5rem;--bs-border-radius-xl:1rem;--bs-border-radius-2xl:2rem;--bs-border-radius-pill:50rem;--bs-link-color:#0d6efd;--bs-link-hover-color:#0a58ca;--bs-code-color:#d63384;--bs-highlight-bg:#fff3cd}*,::after,::before{box-sizing:border-box}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:var(--bs-body-font-family);font-size:var(--bs-body-font-size);font-weight:var(--bs-body-font-weight);line-height:var(--bs-body-line-height);color:var(--bs-body-color);text-align:var(--bs-body-text-align);background-color:var(--bs-body-bg);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}hr{margin:1rem 0;color:inherit;border:0;border-top:1px solid;opacity:.25}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.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 + .9vw)}@media (min-width:1200px){.h2,h2{font-size:2rem}}.h3,h3{font-size:calc(1.3rem + .6vw)}@media (min-width:1200px){.h3,h3{font-size:1.75rem}}.h4,h4{font-size:calc(1.275rem + .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]{-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}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}.small,small{font-size:.875em}.mark,mark{padding:.1875em;background-color:var(--bs-highlight-bg)}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:var(--bs-link-color);text-decoration:underline}a:hover{color:var(--bs-link-hover-color)}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:var(--bs-font-monospace);font-size:1em}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:var(--bs-code-color);word-wrap:break-word}a>code{color:inherit}kbd{padding:.1875rem .375rem;font-size:.875em;color:var(--bs-body-bg);background-color:var(--bs-body-color);border-radius:.25rem}kbd kbd{padding:0;font-size:1em}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:#6c757d;text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}tbody,td,tfoot,th,thead,tr{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,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}select:disabled{opacity:1}[list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator{display:none!important}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button: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:.5rem;font-size:calc(1.275rem + .3vw);line-height:inherit}@media (min-width:1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:textfield}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}::file-selector-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:300}.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:.5rem}.initialism{font-size:.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:.875em;color:#6c757d}.blockquote-footer::before{content:"— "}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:#fff;border:1px solid var(--bs-border-color);border-radius:.375rem;max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:.875em;color:#6c757d}.container,.container-fluid,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{--bs-gutter-x:1.5rem;--bs-gutter-y:0;width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-right:auto;margin-left:auto}@media (min-width:576px){.container,.container-sm{max-width:540px}}@media (min-width:768px){.container,.container-md,.container-sm{max-width:720px}}@media (min-width:992px){.container,.container-lg,.container-md,.container-sm{max-width:960px}}@media (min-width:1200px){.container,.container-lg,.container-md,.container-sm,.container-xl{max-width:1140px}}@media (min-width:1400px){.container,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{max-width:1320px}}.row{--bs-gutter-x:1.5rem;--bs-gutter-y:0;display:flex;flex-wrap:wrap;margin-top:calc(-1 * var(--bs-gutter-y));margin-right:calc(-.5 * var(--bs-gutter-x));margin-left:calc(-.5 * var(--bs-gutter-x))}.row>*{flex-shrink:0;width:100%;max-width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);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.33333333%}.col-2{flex:0 0 auto;width:16.66666667%}.col-3{flex:0 0 auto;width:25%}.col-4{flex:0 0 auto;width:33.33333333%}.col-5{flex:0 0 auto;width:41.66666667%}.col-6{flex:0 0 auto;width:50%}.col-7{flex:0 0 auto;width:58.33333333%}.col-8{flex:0 0 auto;width:66.66666667%}.col-9{flex:0 0 auto;width:75%}.col-10{flex:0 0 auto;width:83.33333333%}.col-11{flex:0 0 auto;width:91.66666667%}.col-12{flex:0 0 auto;width:100%}.offset-1{margin-left:8.33333333%}.offset-2{margin-left:16.66666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.33333333%}.offset-5{margin-left:41.66666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.33333333%}.offset-8{margin-left:66.66666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.33333333%}.offset-11{margin-left:91.66666667%}.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.33333333%}.col-sm-2{flex:0 0 auto;width:16.66666667%}.col-sm-3{flex:0 0 auto;width:25%}.col-sm-4{flex:0 0 auto;width:33.33333333%}.col-sm-5{flex:0 0 auto;width:41.66666667%}.col-sm-6{flex:0 0 auto;width:50%}.col-sm-7{flex:0 0 auto;width:58.33333333%}.col-sm-8{flex:0 0 auto;width:66.66666667%}.col-sm-9{flex:0 0 auto;width:75%}.col-sm-10{flex:0 0 auto;width:83.33333333%}.col-sm-11{flex:0 0 auto;width:91.66666667%}.col-sm-12{flex:0 0 auto;width:100%}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.33333333%}.offset-sm-2{margin-left:16.66666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.33333333%}.offset-sm-5{margin-left:41.66666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.33333333%}.offset-sm-8{margin-left:66.66666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.33333333%}.offset-sm-11{margin-left:91.66666667%}.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.33333333%}.col-md-2{flex:0 0 auto;width:16.66666667%}.col-md-3{flex:0 0 auto;width:25%}.col-md-4{flex:0 0 auto;width:33.33333333%}.col-md-5{flex:0 0 auto;width:41.66666667%}.col-md-6{flex:0 0 auto;width:50%}.col-md-7{flex:0 0 auto;width:58.33333333%}.col-md-8{flex:0 0 auto;width:66.66666667%}.col-md-9{flex:0 0 auto;width:75%}.col-md-10{flex:0 0 auto;width:83.33333333%}.col-md-11{flex:0 0 auto;width:91.66666667%}.col-md-12{flex:0 0 auto;width:100%}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.33333333%}.offset-md-2{margin-left:16.66666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.33333333%}.offset-md-5{margin-left:41.66666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.33333333%}.offset-md-8{margin-left:66.66666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.33333333%}.offset-md-11{margin-left:91.66666667%}.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.33333333%}.col-lg-2{flex:0 0 auto;width:16.66666667%}.col-lg-3{flex:0 0 auto;width:25%}.col-lg-4{flex:0 0 auto;width:33.33333333%}.col-lg-5{flex:0 0 auto;width:41.66666667%}.col-lg-6{flex:0 0 auto;width:50%}.col-lg-7{flex:0 0 auto;width:58.33333333%}.col-lg-8{flex:0 0 auto;width:66.66666667%}.col-lg-9{flex:0 0 auto;width:75%}.col-lg-10{flex:0 0 auto;width:83.33333333%}.col-lg-11{flex:0 0 auto;width:91.66666667%}.col-lg-12{flex:0 0 auto;width:100%}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.33333333%}.offset-lg-2{margin-left:16.66666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.33333333%}.offset-lg-5{margin-left:41.66666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.33333333%}.offset-lg-8{margin-left:66.66666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.33333333%}.offset-lg-11{margin-left:91.66666667%}.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.33333333%}.col-xl-2{flex:0 0 auto;width:16.66666667%}.col-xl-3{flex:0 0 auto;width:25%}.col-xl-4{flex:0 0 auto;width:33.33333333%}.col-xl-5{flex:0 0 auto;width:41.66666667%}.col-xl-6{flex:0 0 auto;width:50%}.col-xl-7{flex:0 0 auto;width:58.33333333%}.col-xl-8{flex:0 0 auto;width:66.66666667%}.col-xl-9{flex:0 0 auto;width:75%}.col-xl-10{flex:0 0 auto;width:83.33333333%}.col-xl-11{flex:0 0 auto;width:91.66666667%}.col-xl-12{flex:0 0 auto;width:100%}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.33333333%}.offset-xl-2{margin-left:16.66666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.33333333%}.offset-xl-5{margin-left:41.66666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.33333333%}.offset-xl-8{margin-left:66.66666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.33333333%}.offset-xl-11{margin-left:91.66666667%}.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.33333333%}.col-xxl-2{flex:0 0 auto;width:16.66666667%}.col-xxl-3{flex:0 0 auto;width:25%}.col-xxl-4{flex:0 0 auto;width:33.33333333%}.col-xxl-5{flex:0 0 auto;width:41.66666667%}.col-xxl-6{flex:0 0 auto;width:50%}.col-xxl-7{flex:0 0 auto;width:58.33333333%}.col-xxl-8{flex:0 0 auto;width:66.66666667%}.col-xxl-9{flex:0 0 auto;width:75%}.col-xxl-10{flex:0 0 auto;width:83.33333333%}.col-xxl-11{flex:0 0 auto;width:91.66666667%}.col-xxl-12{flex:0 0 auto;width:100%}.offset-xxl-0{margin-left:0}.offset-xxl-1{margin-left:8.33333333%}.offset-xxl-2{margin-left:16.66666667%}.offset-xxl-3{margin-left:25%}.offset-xxl-4{margin-left:33.33333333%}.offset-xxl-5{margin-left:41.66666667%}.offset-xxl-6{margin-left:50%}.offset-xxl-7{margin-left:58.33333333%}.offset-xxl-8{margin-left:66.66666667%}.offset-xxl-9{margin-left:75%}.offset-xxl-10{margin-left:83.33333333%}.offset-xxl-11{margin-left:91.66666667%}.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-color:var(--bs-body-color);--bs-table-bg:transparent;--bs-table-border-color:var(--bs-border-color);--bs-table-accent-bg:transparent;--bs-table-striped-color:var(--bs-body-color);--bs-table-striped-bg:rgba(0, 0, 0, 0.05);--bs-table-active-color:var(--bs-body-color);--bs-table-active-bg:rgba(0, 0, 0, 0.1);--bs-table-hover-color:var(--bs-body-color);--bs-table-hover-bg:rgba(0, 0, 0, 0.075);width:100%;margin-bottom:1rem;color:var(--bs-table-color);vertical-align:top;border-color:var(--bs-table-border-color)}.table>:not(caption)>*>*{padding:.5rem .5rem;background-color:var(--bs-table-bg);border-bottom-width:1px;box-shadow:inset 0 0 0 9999px var(--bs-table-accent-bg)}.table>tbody{vertical-align:inherit}.table>thead{vertical-align:bottom}.table-group-divider{border-top:2px solid currentcolor}.caption-top{caption-side:top}.table-sm>:not(caption)>*>*{padding:.25rem .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-borderless>:not(:first-child){border-top-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-striped-columns>:not(caption)>tr>:nth-child(2n){--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-color:#000;--bs-table-bg:#cfe2ff;--bs-table-border-color:#bacbe6;--bs-table-striped-bg:#c5d7f2;--bs-table-striped-color:#000;--bs-table-active-bg:#bacbe6;--bs-table-active-color:#000;--bs-table-hover-bg:#bfd1ec;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-secondary{--bs-table-color:#000;--bs-table-bg:#e2e3e5;--bs-table-border-color:#cbccce;--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:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-success{--bs-table-color:#000;--bs-table-bg:#d1e7dd;--bs-table-border-color:#bcd0c7;--bs-table-striped-bg:#c7dbd2;--bs-table-striped-color:#000;--bs-table-active-bg:#bcd0c7;--bs-table-active-color:#000;--bs-table-hover-bg:#c1d6cc;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-info{--bs-table-color:#000;--bs-table-bg:#cff4fc;--bs-table-border-color:#badce3;--bs-table-striped-bg:#c5e8ef;--bs-table-striped-color:#000;--bs-table-active-bg:#badce3;--bs-table-active-color:#000;--bs-table-hover-bg:#bfe2e9;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-warning{--bs-table-color:#000;--bs-table-bg:#fff3cd;--bs-table-border-color:#e6dbb9;--bs-table-striped-bg:#f2e7c3;--bs-table-striped-color:#000;--bs-table-active-bg:#e6dbb9;--bs-table-active-color:#000;--bs-table-hover-bg:#ece1be;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-danger{--bs-table-color:#000;--bs-table-bg:#f8d7da;--bs-table-border-color:#dfc2c4;--bs-table-striped-bg:#eccccf;--bs-table-striped-color:#000;--bs-table-active-bg:#dfc2c4;--bs-table-active-color:#000;--bs-table-hover-bg:#e5c7ca;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-light{--bs-table-color:#000;--bs-table-bg:#f8f9fa;--bs-table-border-color:#dfe0e1;--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:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-dark{--bs-table-color:#fff;--bs-table-bg:#212529;--bs-table-border-color:#373b3e;--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:var(--bs-table-color);border-color:var(--bs-table-border-color)}.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:.5rem}.col-form-label{padding-top:calc(.375rem + 1px);padding-bottom:calc(.375rem + 1px);margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(.5rem + 1px);padding-bottom:calc(.5rem + 1px);font-size:1.25rem}.col-form-label-sm{padding-top:calc(.25rem + 1px);padding-bottom:calc(.25rem + 1px);font-size:.875rem}.form-text{margin-top:.25rem;font-size:.875em;color:#6c757d}.form-control{display:block;width:100%;padding:.375rem .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:.375rem;transition:border-color .15s ease-in-out,box-shadow .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:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-control::-webkit-date-and-time-value{height:1.5em}.form-control::-moz-placeholder{color:#6c757d;opacity:1}.form-control::placeholder{color:#6c757d;opacity:1}.form-control:disabled{background-color:#e9ecef;opacity:1}.form-control::-webkit-file-upload-button{padding:.375rem .75rem;margin:-.375rem -.75rem;-webkit-margin-end:.75rem;margin-inline-end:.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 .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}.form-control::file-selector-button{padding:.375rem .75rem;margin:-.375rem -.75rem;-webkit-margin-end:.75rem;margin-inline-end:.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 .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control::-webkit-file-upload-button{-webkit-transition:none;transition:none}.form-control::file-selector-button{transition:none}}.form-control:hover:not(:disabled):not([readonly])::-webkit-file-upload-button{background-color:#dde0e3}.form-control:hover:not(:disabled):not([readonly])::file-selector-button{background-color:#dde0e3}.form-control-plaintext{display:block;width:100%;padding:.375rem 0;margin-bottom:0;line-height:1.5;color:#212529;background-color:transparent;border:solid transparent;border-width:1px 0}.form-control-plaintext:focus{outline:0}.form-control-plaintext.form-control-lg,.form-control-plaintext.form-control-sm{padding-right:0;padding-left:0}.form-control-sm{min-height:calc(1.5em + .5rem + 2px);padding:.25rem .5rem;font-size:.875rem;border-radius:.25rem}.form-control-sm::-webkit-file-upload-button{padding:.25rem .5rem;margin:-.25rem -.5rem;-webkit-margin-end:.5rem;margin-inline-end:.5rem}.form-control-sm::file-selector-button{padding:.25rem .5rem;margin:-.25rem -.5rem;-webkit-margin-end:.5rem;margin-inline-end:.5rem}.form-control-lg{min-height:calc(1.5em + 1rem + 2px);padding:.5rem 1rem;font-size:1.25rem;border-radius:.5rem}.form-control-lg::-webkit-file-upload-button{padding:.5rem 1rem;margin:-.5rem -1rem;-webkit-margin-end:1rem;margin-inline-end:1rem}.form-control-lg::file-selector-button{padding:.5rem 1rem;margin:-.5rem -1rem;-webkit-margin-end:1rem;margin-inline-end:1rem}textarea.form-control{min-height:calc(1.5em + .75rem + 2px)}textarea.form-control-sm{min-height:calc(1.5em + .5rem + 2px)}textarea.form-control-lg{min-height:calc(1.5em + 1rem + 2px)}.form-control-color{width:3rem;height:calc(1.5em + .75rem + 2px);padding:.375rem}.form-control-color:not(:disabled):not([readonly]){cursor:pointer}.form-control-color::-moz-color-swatch{border:0!important;border-radius:.375rem}.form-control-color::-webkit-color-swatch{border-radius:.375rem}.form-control-color.form-control-sm{height:calc(1.5em + .5rem + 2px)}.form-control-color.form-control-lg{height:calc(1.5em + 1rem + 2px)}.form-select{display:block;width:100%;padding:.375rem 2.25rem .375rem .75rem;-moz-padding-start:calc(0.75rem - 3px);font-size:1rem;font-weight:400;line-height:1.5;color:#212529;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 5 6 6 6-6'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right .75rem center;background-size:16px 12px;border:1px solid #ced4da;border-radius:.375rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;-webkit-appearance:none;-moz-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.form-select{transition:none}}.form-select:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-select[multiple],.form-select[size]:not([size="1"]){padding-right:.75rem;background-image:none}.form-select:disabled{background-color:#e9ecef}.form-select:-moz-focusring{color:transparent;text-shadow:0 0 0 #212529}.form-select-sm{padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.875rem;border-radius:.25rem}.form-select-lg{padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem;border-radius:.5rem}.form-check{display:block;min-height:1.5rem;padding-left:1.5em;margin-bottom:.125rem}.form-check .form-check-input{float:left;margin-left:-1.5em}.form-check-reverse{padding-right:1.5em;padding-left:0;text-align:right}.form-check-reverse .form-check-input{float:right;margin-right:-1.5em;margin-left:0}.form-check-input{width:1em;height:1em;margin-top:.25em;vertical-align:top;background-color:#fff;background-repeat:no-repeat;background-position:center;background-size:contain;border:1px solid rgba(0,0,0,.25);-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-print-color-adjust:exact;color-adjust:exact;print-color-adjust:exact}.form-check-input[type=checkbox]{border-radius:.25em}.form-check-input[type=radio]{border-radius:50%}.form-check-input:active{filter:brightness(90%)}.form-check-input:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-check-input:checked{background-color:#0d6efd;border-color:#0d6efd}.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 10 3 3 6-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:#0d6efd;border-color:#0d6efd;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:.5}.form-check-input:disabled~.form-check-label,.form-check-input[disabled]~.form-check-label{cursor:default;opacity:.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;transition:background-position .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-switch .form-check-input{transition:none}}.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='%2386b7fe'/%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-switch.form-check-reverse{padding-right:2.5em;padding-left:0}.form-switch.form-check-reverse .form-check-input{margin-right:-2.5em;margin-left:0}.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:.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:0}.form-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem rgba(13,110,253,.25)}.form-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem rgba(13,110,253,.25)}.form-range::-moz-focus-outer{border:0}.form-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;background-color:#0d6efd;border:0;border-radius:1rem;-webkit-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .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:#b6d4fe}.form-range::-webkit-slider-runnable-track{width:100%;height:.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:#0d6efd;border:0;border-radius:1rem;-moz-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .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:#b6d4fe}.form-range::-moz-range-track{width:100%;height:.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-control-plaintext,.form-floating>.form-select{height:calc(3.5rem + 2px);line-height:1.25}.form-floating>label{position:absolute;top:0;left:0;width:100%;height:100%;padding:1rem .75rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;pointer-events:none;border:1px solid transparent;transform-origin:0 0;transition:opacity .1s ease-in-out,transform .1s ease-in-out}@media (prefers-reduced-motion:reduce){.form-floating>label{transition:none}}.form-floating>.form-control,.form-floating>.form-control-plaintext{padding:1rem .75rem}.form-floating>.form-control-plaintext::-moz-placeholder,.form-floating>.form-control::-moz-placeholder{color:transparent}.form-floating>.form-control-plaintext::placeholder,.form-floating>.form-control::placeholder{color:transparent}.form-floating>.form-control-plaintext:not(:-moz-placeholder-shown),.form-floating>.form-control:not(:-moz-placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control-plaintext:focus,.form-floating>.form-control-plaintext:not(:placeholder-shown),.form-floating>.form-control:focus,.form-floating>.form-control:not(:placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control-plaintext:-webkit-autofill,.form-floating>.form-control:-webkit-autofill{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-select{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:not(:-moz-placeholder-shown)~label{opacity:.65;transform:scale(.85) translateY(-.5rem) translateX(.15rem)}.form-floating>.form-control-plaintext~label,.form-floating>.form-control:focus~label,.form-floating>.form-control:not(:placeholder-shown)~label,.form-floating>.form-select~label{opacity:.65;transform:scale(.85) translateY(-.5rem) translateX(.15rem)}.form-floating>.form-control:-webkit-autofill~label{opacity:.65;transform:scale(.85) translateY(-.5rem) translateX(.15rem)}.form-floating>.form-control-plaintext~label{border-width:1px 0}.input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%}.input-group>.form-control,.input-group>.form-floating,.input-group>.form-select{position:relative;flex:1 1 auto;width:1%;min-width:0}.input-group>.form-control:focus,.input-group>.form-floating:focus-within,.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:.375rem .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:.375rem}.input-group-lg>.btn,.input-group-lg>.form-control,.input-group-lg>.form-select,.input-group-lg>.input-group-text{padding:.5rem 1rem;font-size:1.25rem;border-radius:.5rem}.input-group-sm>.btn,.input-group-sm>.form-control,.input-group-sm>.form-select,.input-group-sm>.input-group-text{padding:.25rem .5rem;font-size:.875rem;border-radius:.25rem}.input-group-lg>.form-select,.input-group-sm>.form-select{padding-right:3rem}.input-group:not(.has-validation)>.dropdown-toggle:nth-last-child(n+3),.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-control,.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-select,.input-group:not(.has-validation)>:not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating){border-top-right-radius:0;border-bottom-right-radius:0}.input-group.has-validation>.dropdown-toggle:nth-last-child(n+4),.input-group.has-validation>.form-floating:nth-last-child(n+3)>.form-control,.input-group.has-validation>.form-floating:nth-last-child(n+3)>.form-select,.input-group.has-validation>:nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating){border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.form-floating:not(:first-child)>.form-control,.input-group>.form-floating:not(:first-child)>.form-select,.input-group>:not(:first-child):not(.dropdown-menu):not(.form-floating):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:.25rem;font-size:.875em;color:#198754}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:rgba(25,135,84,.9);border-radius:.375rem}.is-valid~.valid-feedback,.is-valid~.valid-tooltip,.was-validated :valid~.valid-feedback,.was-validated :valid~.valid-tooltip{display:block}.form-control.is-valid,.was-validated .form-control:valid{border-color:#198754;padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73.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(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-valid:focus,.was-validated .form-control:valid:focus{border-color:#198754;box-shadow:0 0 0 .25rem rgba(25,135,84,.25)}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.form-select.is-valid,.was-validated .form-select:valid{border-color:#198754}.form-select.is-valid:not([multiple]):not([size]),.form-select.is-valid:not([multiple])[size="1"],.was-validated .form-select:valid:not([multiple]):not([size]),.was-validated .form-select:valid:not([multiple])[size="1"]{padding-right:4.125rem;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 5 6 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='%23198754' d='M2.3 6.73.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 .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.form-select.is-valid:focus,.was-validated .form-select:valid:focus{border-color:#198754;box-shadow:0 0 0 .25rem rgba(25,135,84,.25)}.form-control-color.is-valid,.was-validated .form-control-color:valid{width:calc(3rem + calc(1.5em + .75rem))}.form-check-input.is-valid,.was-validated .form-check-input:valid{border-color:#198754}.form-check-input.is-valid:checked,.was-validated .form-check-input:valid:checked{background-color:#198754}.form-check-input.is-valid:focus,.was-validated .form-check-input:valid:focus{box-shadow:0 0 0 .25rem rgba(25,135,84,.25)}.form-check-input.is-valid~.form-check-label,.was-validated .form-check-input:valid~.form-check-label{color:#198754}.form-check-inline .form-check-input~.valid-feedback{margin-left:.5em}.input-group .form-control.is-valid,.input-group .form-select.is-valid,.was-validated .input-group .form-control:valid,.was-validated .input-group .form-select:valid{z-index:1}.input-group .form-control.is-valid:focus,.input-group .form-select.is-valid:focus,.was-validated .input-group .form-control:valid:focus,.was-validated .input-group .form-select:valid:focus{z-index:3}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:#dc3545}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:rgba(220,53,69,.9);border-radius:.375rem}.is-invalid~.invalid-feedback,.is-invalid~.invalid-tooltip,.was-validated :invalid~.invalid-feedback,.was-validated :invalid~.invalid-tooltip{display:block}.form-control.is-invalid,.was-validated .form-control:invalid{border-color:#dc3545;padding-right:calc(1.5em + .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='%23dc3545'%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='%23dc3545' stroke='none'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-invalid:focus,.was-validated .form-control:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .25rem rgba(220,53,69,.25)}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.form-select.is-invalid,.was-validated .form-select:invalid{border-color:#dc3545}.form-select.is-invalid:not([multiple]):not([size]),.form-select.is-invalid:not([multiple])[size="1"],.was-validated .form-select:invalid:not([multiple]):not([size]),.was-validated .form-select:invalid:not([multiple])[size="1"]{padding-right:4.125rem;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 5 6 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='%23dc3545'%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='%23dc3545' stroke='none'/%3e%3c/svg%3e");background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.form-select.is-invalid:focus,.was-validated .form-select:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .25rem rgba(220,53,69,.25)}.form-control-color.is-invalid,.was-validated .form-control-color:invalid{width:calc(3rem + calc(1.5em + .75rem))}.form-check-input.is-invalid,.was-validated .form-check-input:invalid{border-color:#dc3545}.form-check-input.is-invalid:checked,.was-validated .form-check-input:invalid:checked{background-color:#dc3545}.form-check-input.is-invalid:focus,.was-validated .form-check-input:invalid:focus{box-shadow:0 0 0 .25rem rgba(220,53,69,.25)}.form-check-input.is-invalid~.form-check-label,.was-validated .form-check-input:invalid~.form-check-label{color:#dc3545}.form-check-inline .form-check-input~.invalid-feedback{margin-left:.5em}.input-group .form-control.is-invalid,.input-group .form-select.is-invalid,.was-validated .input-group .form-control:invalid,.was-validated .input-group .form-select:invalid{z-index:2}.input-group .form-control.is-invalid:focus,.input-group .form-select.is-invalid:focus,.was-validated .input-group .form-control:invalid:focus,.was-validated .input-group .form-select:invalid:focus{z-index:3}.btn{--bs-btn-padding-x:0.75rem;--bs-btn-padding-y:0.375rem;--bs-btn-font-family: ;--bs-btn-font-size:1rem;--bs-btn-font-weight:400;--bs-btn-line-height:1.5;--bs-btn-color:#212529;--bs-btn-bg:transparent;--bs-btn-border-width:1px;--bs-btn-border-color:transparent;--bs-btn-border-radius:0.375rem;--bs-btn-box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.15),0 1px 1px rgba(0, 0, 0, 0.075);--bs-btn-disabled-opacity:0.65;--bs-btn-focus-box-shadow:0 0 0 0.25rem rgba(var(--bs-btn-focus-shadow-rgb), .5);display:inline-block;padding:var(--bs-btn-padding-y) var(--bs-btn-padding-x);font-family:var(--bs-btn-font-family);font-size:var(--bs-btn-font-size);font-weight:var(--bs-btn-font-weight);line-height:var(--bs-btn-line-height);color:var(--bs-btn-color);text-align:center;text-decoration:none;vertical-align:middle;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;border:var(--bs-btn-border-width) solid var(--bs-btn-border-color);border-radius:var(--bs-btn-border-radius);background-color:var(--bs-btn-bg);transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.btn{transition:none}}.btn:hover{color:var(--bs-btn-hover-color);background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color)}.btn-check:focus+.btn,.btn:focus{color:var(--bs-btn-hover-color);background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color);outline:0;box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:active+.btn,.btn-check:checked+.btn,.btn.active,.btn.show,.btn:active{color:var(--bs-btn-active-color);background-color:var(--bs-btn-active-bg);border-color:var(--bs-btn-active-border-color)}.btn-check:active+.btn:focus,.btn-check:checked+.btn:focus,.btn.active:focus,.btn.show:focus,.btn:active:focus{box-shadow:var(--bs-btn-focus-box-shadow)}.btn.disabled,.btn:disabled,fieldset:disabled .btn{color:var(--bs-btn-disabled-color);pointer-events:none;background-color:var(--bs-btn-disabled-bg);border-color:var(--bs-btn-disabled-border-color);opacity:var(--bs-btn-disabled-opacity)}.btn-primary{--bs-btn-color:#fff;--bs-btn-bg:#0d6efd;--bs-btn-border-color:#0d6efd;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#0b5ed7;--bs-btn-hover-border-color:#0a58ca;--bs-btn-focus-shadow-rgb:49,132,253;--bs-btn-active-color:#fff;--bs-btn-active-bg:#0a58ca;--bs-btn-active-border-color:#0a53be;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#0d6efd;--bs-btn-disabled-border-color:#0d6efd}.btn-secondary{--bs-btn-color:#fff;--bs-btn-bg:#6c757d;--bs-btn-border-color:#6c757d;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#5c636a;--bs-btn-hover-border-color:#565e64;--bs-btn-focus-shadow-rgb:130,138,145;--bs-btn-active-color:#fff;--bs-btn-active-bg:#565e64;--bs-btn-active-border-color:#51585e;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#6c757d;--bs-btn-disabled-border-color:#6c757d}.btn-success{--bs-btn-color:#fff;--bs-btn-bg:#198754;--bs-btn-border-color:#198754;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#157347;--bs-btn-hover-border-color:#146c43;--bs-btn-focus-shadow-rgb:60,153,110;--bs-btn-active-color:#fff;--bs-btn-active-bg:#146c43;--bs-btn-active-border-color:#13653f;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#198754;--bs-btn-disabled-border-color:#198754}.btn-info{--bs-btn-color:#000;--bs-btn-bg:#0dcaf0;--bs-btn-border-color:#0dcaf0;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#31d2f2;--bs-btn-hover-border-color:#25cff2;--bs-btn-focus-shadow-rgb:11,172,204;--bs-btn-active-color:#000;--bs-btn-active-bg:#3dd5f3;--bs-btn-active-border-color:#25cff2;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#000;--bs-btn-disabled-bg:#0dcaf0;--bs-btn-disabled-border-color:#0dcaf0}.btn-warning{--bs-btn-color:#000;--bs-btn-bg:#ffc107;--bs-btn-border-color:#ffc107;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#ffca2c;--bs-btn-hover-border-color:#ffc720;--bs-btn-focus-shadow-rgb:217,164,6;--bs-btn-active-color:#000;--bs-btn-active-bg:#ffcd39;--bs-btn-active-border-color:#ffc720;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#000;--bs-btn-disabled-bg:#ffc107;--bs-btn-disabled-border-color:#ffc107}.btn-danger{--bs-btn-color:#fff;--bs-btn-bg:#dc3545;--bs-btn-border-color:#dc3545;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#bb2d3b;--bs-btn-hover-border-color:#b02a37;--bs-btn-focus-shadow-rgb:225,83,97;--bs-btn-active-color:#fff;--bs-btn-active-bg:#b02a37;--bs-btn-active-border-color:#a52834;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#dc3545;--bs-btn-disabled-border-color:#dc3545}.btn-light{--bs-btn-color:#000;--bs-btn-bg:#f8f9fa;--bs-btn-border-color:#f8f9fa;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#d3d4d5;--bs-btn-hover-border-color:#c6c7c8;--bs-btn-focus-shadow-rgb:211,212,213;--bs-btn-active-color:#000;--bs-btn-active-bg:#c6c7c8;--bs-btn-active-border-color:#babbbc;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#000;--bs-btn-disabled-bg:#f8f9fa;--bs-btn-disabled-border-color:#f8f9fa}.btn-dark{--bs-btn-color:#fff;--bs-btn-bg:#212529;--bs-btn-border-color:#212529;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#424649;--bs-btn-hover-border-color:#373b3e;--bs-btn-focus-shadow-rgb:66,70,73;--bs-btn-active-color:#fff;--bs-btn-active-bg:#4d5154;--bs-btn-active-border-color:#373b3e;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#212529;--bs-btn-disabled-border-color:#212529}.btn-outline-primary{--bs-btn-color:#0d6efd;--bs-btn-border-color:#0d6efd;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#0d6efd;--bs-btn-hover-border-color:#0d6efd;--bs-btn-focus-shadow-rgb:13,110,253;--bs-btn-active-color:#fff;--bs-btn-active-bg:#0d6efd;--bs-btn-active-border-color:#0d6efd;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#0d6efd;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#0d6efd;--bs-gradient:none}.btn-outline-secondary{--bs-btn-color:#6c757d;--bs-btn-border-color:#6c757d;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#6c757d;--bs-btn-hover-border-color:#6c757d;--bs-btn-focus-shadow-rgb:108,117,125;--bs-btn-active-color:#fff;--bs-btn-active-bg:#6c757d;--bs-btn-active-border-color:#6c757d;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#6c757d;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#6c757d;--bs-gradient:none}.btn-outline-success{--bs-btn-color:#198754;--bs-btn-border-color:#198754;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#198754;--bs-btn-hover-border-color:#198754;--bs-btn-focus-shadow-rgb:25,135,84;--bs-btn-active-color:#fff;--bs-btn-active-bg:#198754;--bs-btn-active-border-color:#198754;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#198754;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#198754;--bs-gradient:none}.btn-outline-info{--bs-btn-color:#0dcaf0;--bs-btn-border-color:#0dcaf0;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#0dcaf0;--bs-btn-hover-border-color:#0dcaf0;--bs-btn-focus-shadow-rgb:13,202,240;--bs-btn-active-color:#000;--bs-btn-active-bg:#0dcaf0;--bs-btn-active-border-color:#0dcaf0;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#0dcaf0;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#0dcaf0;--bs-gradient:none}.btn-outline-warning{--bs-btn-color:#ffc107;--bs-btn-border-color:#ffc107;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#ffc107;--bs-btn-hover-border-color:#ffc107;--bs-btn-focus-shadow-rgb:255,193,7;--bs-btn-active-color:#000;--bs-btn-active-bg:#ffc107;--bs-btn-active-border-color:#ffc107;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#ffc107;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#ffc107;--bs-gradient:none}.btn-outline-danger{--bs-btn-color:#dc3545;--bs-btn-border-color:#dc3545;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#dc3545;--bs-btn-hover-border-color:#dc3545;--bs-btn-focus-shadow-rgb:220,53,69;--bs-btn-active-color:#fff;--bs-btn-active-bg:#dc3545;--bs-btn-active-border-color:#dc3545;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#dc3545;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#dc3545;--bs-gradient:none}.btn-outline-light{--bs-btn-color:#f8f9fa;--bs-btn-border-color:#f8f9fa;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#f8f9fa;--bs-btn-hover-border-color:#f8f9fa;--bs-btn-focus-shadow-rgb:248,249,250;--bs-btn-active-color:#000;--bs-btn-active-bg:#f8f9fa;--bs-btn-active-border-color:#f8f9fa;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#f8f9fa;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#f8f9fa;--bs-gradient:none}.btn-outline-dark{--bs-btn-color:#212529;--bs-btn-border-color:#212529;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#212529;--bs-btn-hover-border-color:#212529;--bs-btn-focus-shadow-rgb:33,37,41;--bs-btn-active-color:#fff;--bs-btn-active-bg:#212529;--bs-btn-active-border-color:#212529;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#212529;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#212529;--bs-gradient:none}.btn-link{--bs-btn-font-weight:400;--bs-btn-color:var(--bs-link-color);--bs-btn-bg:transparent;--bs-btn-border-color:transparent;--bs-btn-hover-color:var(--bs-link-hover-color);--bs-btn-hover-border-color:transparent;--bs-btn-active-color:var(--bs-link-hover-color);--bs-btn-active-border-color:transparent;--bs-btn-disabled-color:#6c757d;--bs-btn-disabled-border-color:transparent;--bs-btn-box-shadow:none;--bs-btn-focus-shadow-rgb:49,132,253;text-decoration:underline}.btn-link:focus{color:var(--bs-btn-color)}.btn-link:hover{color:var(--bs-btn-hover-color)}.btn-group-lg>.btn,.btn-lg{--bs-btn-padding-y:0.5rem;--bs-btn-padding-x:1rem;--bs-btn-font-size:1.25rem;--bs-btn-border-radius:0.5rem}.btn-group-sm>.btn,.btn-sm{--bs-btn-padding-y:0.25rem;--bs-btn-padding-x:0.5rem;--bs-btn-font-size:0.875rem;--bs-btn-border-radius:0.25rem}.fade{transition:opacity .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 .35s ease}@media (prefers-reduced-motion:reduce){.collapsing{transition:none}}.collapsing.collapse-horizontal{width:0;height:auto;transition:width .35s ease}@media (prefers-reduced-motion:reduce){.collapsing.collapse-horizontal{transition:none}}.dropdown,.dropdown-center,.dropend,.dropstart,.dropup,.dropup-center{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}.dropdown-toggle:empty::after{margin-left:0}.dropdown-menu{--bs-dropdown-min-width:10rem;--bs-dropdown-padding-x:0;--bs-dropdown-padding-y:0.5rem;--bs-dropdown-spacer:0.125rem;--bs-dropdown-font-size:1rem;--bs-dropdown-color:#212529;--bs-dropdown-bg:#fff;--bs-dropdown-border-color:var(--bs-border-color-translucent);--bs-dropdown-border-radius:0.375rem;--bs-dropdown-border-width:1px;--bs-dropdown-inner-border-radius:calc(0.375rem - 1px);--bs-dropdown-divider-bg:var(--bs-border-color-translucent);--bs-dropdown-divider-margin-y:0.5rem;--bs-dropdown-box-shadow:0 0.5rem 1rem rgba(0, 0, 0, 0.15);--bs-dropdown-link-color:#212529;--bs-dropdown-link-hover-color:#1e2125;--bs-dropdown-link-hover-bg:#e9ecef;--bs-dropdown-link-active-color:#fff;--bs-dropdown-link-active-bg:#0d6efd;--bs-dropdown-link-disabled-color:#adb5bd;--bs-dropdown-item-padding-x:1rem;--bs-dropdown-item-padding-y:0.25rem;--bs-dropdown-header-color:#6c757d;--bs-dropdown-header-padding-x:1rem;--bs-dropdown-header-padding-y:0.5rem;position:absolute;z-index:1000;display:none;min-width:var(--bs-dropdown-min-width);padding:var(--bs-dropdown-padding-y) var(--bs-dropdown-padding-x);margin:0;font-size:var(--bs-dropdown-font-size);color:var(--bs-dropdown-color);text-align:left;list-style:none;background-color:var(--bs-dropdown-bg);background-clip:padding-box;border:var(--bs-dropdown-border-width) solid var(--bs-dropdown-border-color);border-radius:var(--bs-dropdown-border-radius)}.dropdown-menu[data-bs-popper]{top:100%;left:0;margin-top:var(--bs-dropdown-spacer)}.dropdown-menu-start{--bs-position:start}.dropdown-menu-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-end{--bs-position:end}.dropdown-menu-end[data-bs-popper]{right:0;left:auto}@media (min-width:576px){.dropdown-menu-sm-start{--bs-position:start}.dropdown-menu-sm-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-sm-end{--bs-position:end}.dropdown-menu-sm-end[data-bs-popper]{right:0;left:auto}}@media (min-width:768px){.dropdown-menu-md-start{--bs-position:start}.dropdown-menu-md-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-md-end{--bs-position:end}.dropdown-menu-md-end[data-bs-popper]{right:0;left:auto}}@media (min-width:992px){.dropdown-menu-lg-start{--bs-position:start}.dropdown-menu-lg-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-lg-end{--bs-position:end}.dropdown-menu-lg-end[data-bs-popper]{right:0;left:auto}}@media (min-width:1200px){.dropdown-menu-xl-start{--bs-position:start}.dropdown-menu-xl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xl-end{--bs-position:end}.dropdown-menu-xl-end[data-bs-popper]{right:0;left:auto}}@media (min-width:1400px){.dropdown-menu-xxl-start{--bs-position:start}.dropdown-menu-xxl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xxl-end{--bs-position:end}.dropdown-menu-xxl-end[data-bs-popper]{right:0;left:auto}}.dropup .dropdown-menu[data-bs-popper]{top:auto;bottom:100%;margin-top:0;margin-bottom:var(--bs-dropdown-spacer)}.dropup .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.3em solid transparent}.dropup .dropdown-toggle:empty::after{margin-left:0}.dropend .dropdown-menu[data-bs-popper]{top:0;right:auto;left:100%;margin-top:0;margin-left:var(--bs-dropdown-spacer)}.dropend .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid}.dropend .dropdown-toggle:empty::after{margin-left:0}.dropend .dropdown-toggle::after{vertical-align:0}.dropstart .dropdown-menu[data-bs-popper]{top:0;right:100%;left:auto;margin-top:0;margin-right:var(--bs-dropdown-spacer)}.dropstart .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:""}.dropstart .dropdown-toggle::after{display:none}.dropstart .dropdown-toggle::before{display:inline-block;margin-right:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent}.dropstart .dropdown-toggle:empty::after{margin-left:0}.dropstart .dropdown-toggle::before{vertical-align:0}.dropdown-divider{height:0;margin:var(--bs-dropdown-divider-margin-y) 0;overflow:hidden;border-top:1px solid var(--bs-dropdown-divider-bg);opacity:1}.dropdown-item{display:block;width:100%;padding:var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);clear:both;font-weight:400;color:var(--bs-dropdown-link-color);text-align:inherit;text-decoration:none;white-space:nowrap;background-color:transparent;border:0}.dropdown-item:focus,.dropdown-item:hover{color:var(--bs-dropdown-link-hover-color);background-color:var(--bs-dropdown-link-hover-bg)}.dropdown-item.active,.dropdown-item:active{color:var(--bs-dropdown-link-active-color);text-decoration:none;background-color:var(--bs-dropdown-link-active-bg)}.dropdown-item.disabled,.dropdown-item:disabled{color:var(--bs-dropdown-link-disabled-color);pointer-events:none;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:var(--bs-dropdown-header-padding-y) var(--bs-dropdown-header-padding-x);margin-bottom:0;font-size:.875rem;color:var(--bs-dropdown-header-color);white-space:nowrap}.dropdown-item-text{display:block;padding:var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);color:var(--bs-dropdown-link-color)}.dropdown-menu-dark{--bs-dropdown-color:#dee2e6;--bs-dropdown-bg:#343a40;--bs-dropdown-border-color:var(--bs-border-color-translucent);--bs-dropdown-box-shadow: ;--bs-dropdown-link-color:#dee2e6;--bs-dropdown-link-hover-color:#fff;--bs-dropdown-divider-bg:var(--bs-border-color-translucent);--bs-dropdown-link-hover-bg:rgba(255, 255, 255, 0.15);--bs-dropdown-link-active-color:#fff;--bs-dropdown-link-active-bg:#0d6efd;--bs-dropdown-link-disabled-color:#adb5bd;--bs-dropdown-header-color:#adb5bd}.btn-group,.btn-group-vertical{position:relative;display:inline-flex;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;flex:1 1 auto}.btn-group-vertical>.btn-check:checked+.btn,.btn-group-vertical>.btn-check:focus+.btn,.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn-check:checked+.btn,.btn-group>.btn-check:focus+.btn,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:1}.btn-toolbar{display:flex;flex-wrap:wrap;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group{border-radius:.375rem}.btn-group>.btn-group:not(:first-child),.btn-group>.btn:not(:first-child){margin-left:-1px}.btn-group>.btn-group:not(:last-child)>.btn,.btn-group>.btn.dropdown-toggle-split:first-child,.btn-group>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:not(:first-child)>.btn,.btn-group>.btn:nth-child(n+3),.btn-group>:not(.btn-check)+.btn{border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}.dropdown-toggle-split::after,.dropend .dropdown-toggle-split::after,.dropup .dropdown-toggle-split::after{margin-left:0}.dropstart .dropdown-toggle-split::before{margin-right:0}.btn-group-sm>.btn+.dropdown-toggle-split,.btn-sm+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-group-lg>.btn+.dropdown-toggle-split,.btn-lg+.dropdown-toggle-split{padding-right:.75rem;padding-left:.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-group:not(:first-child),.btn-group-vertical>.btn:not(:first-child){margin-top:-1px}.btn-group-vertical>.btn-group:not(:last-child)>.btn,.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child)>.btn,.btn-group-vertical>.btn~.btn{border-top-left-radius:0;border-top-right-radius:0}.nav{--bs-nav-link-padding-x:1rem;--bs-nav-link-padding-y:0.5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color:var(--bs-link-color);--bs-nav-link-hover-color:var(--bs-link-hover-color);--bs-nav-link-disabled-color:#6c757d;display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);font-size:var(--bs-nav-link-font-size);font-weight:var(--bs-nav-link-font-weight);color:var(--bs-nav-link-color);text-decoration:none;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out}@media (prefers-reduced-motion:reduce){.nav-link{transition:none}}.nav-link:focus,.nav-link:hover{color:var(--bs-nav-link-hover-color)}.nav-link.disabled{color:var(--bs-nav-link-disabled-color);pointer-events:none;cursor:default}.nav-tabs{--bs-nav-tabs-border-width:1px;--bs-nav-tabs-border-color:#dee2e6;--bs-nav-tabs-border-radius:0.375rem;--bs-nav-tabs-link-hover-border-color:#e9ecef #e9ecef #dee2e6;--bs-nav-tabs-link-active-color:#495057;--bs-nav-tabs-link-active-bg:#fff;--bs-nav-tabs-link-active-border-color:#dee2e6 #dee2e6 #fff;border-bottom:var(--bs-nav-tabs-border-width) solid var(--bs-nav-tabs-border-color)}.nav-tabs .nav-link{margin-bottom:calc(var(--bs-nav-tabs-border-width) * -1);background:0 0;border:var(--bs-nav-tabs-border-width) solid transparent;border-top-left-radius:var(--bs-nav-tabs-border-radius);border-top-right-radius:var(--bs-nav-tabs-border-radius)}.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{isolation:isolate;border-color:var(--bs-nav-tabs-link-hover-border-color)}.nav-tabs .nav-link.disabled,.nav-tabs .nav-link:disabled{color:var(--bs-nav-link-disabled-color);background-color:transparent;border-color:transparent}.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{color:var(--bs-nav-tabs-link-active-color);background-color:var(--bs-nav-tabs-link-active-bg);border-color:var(--bs-nav-tabs-link-active-border-color)}.nav-tabs .dropdown-menu{margin-top:calc(var(--bs-nav-tabs-border-width) * -1);border-top-left-radius:0;border-top-right-radius:0}.nav-pills{--bs-nav-pills-border-radius:0.375rem;--bs-nav-pills-link-active-color:#fff;--bs-nav-pills-link-active-bg:#0d6efd}.nav-pills .nav-link{background:0 0;border:0;border-radius:var(--bs-nav-pills-border-radius)}.nav-pills .nav-link:disabled{color:var(--bs-nav-link-disabled-color);background-color:transparent;border-color:transparent}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:var(--bs-nav-pills-link-active-color);background-color:var(--bs-nav-pills-link-active-bg)}.nav-fill .nav-item,.nav-fill>.nav-link{flex:1 1 auto;text-align:center}.nav-justified .nav-item,.nav-justified>.nav-link{flex-basis:0;flex-grow:1;text-align:center}.nav-fill .nav-item .nav-link,.nav-justified .nav-item .nav-link{width:100%}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{--bs-navbar-padding-x:0;--bs-navbar-padding-y:0.5rem;--bs-navbar-color:rgba(0, 0, 0, 0.55);--bs-navbar-hover-color:rgba(0, 0, 0, 0.7);--bs-navbar-disabled-color:rgba(0, 0, 0, 0.3);--bs-navbar-active-color:rgba(0, 0, 0, 0.9);--bs-navbar-brand-padding-y:0.3125rem;--bs-navbar-brand-margin-end:1rem;--bs-navbar-brand-font-size:1.25rem;--bs-navbar-brand-color:rgba(0, 0, 0, 0.9);--bs-navbar-brand-hover-color:rgba(0, 0, 0, 0.9);--bs-navbar-nav-link-padding-x:0.5rem;--bs-navbar-toggler-padding-y:0.25rem;--bs-navbar-toggler-padding-x:0.75rem;--bs-navbar-toggler-font-size:1.25rem;--bs-navbar-toggler-icon-bg: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");--bs-navbar-toggler-border-color:rgba(0, 0, 0, 0.1);--bs-navbar-toggler-border-radius:0.375rem;--bs-navbar-toggler-focus-width:0.25rem;--bs-navbar-toggler-transition:box-shadow 0.15s ease-in-out;position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:var(--bs-navbar-padding-y) var(--bs-navbar-padding-x)}.navbar>.container,.navbar>.container-fluid,.navbar>.container-lg,.navbar>.container-md,.navbar>.container-sm,.navbar>.container-xl,.navbar>.container-xxl{display:flex;flex-wrap:inherit;align-items:center;justify-content:space-between}.navbar-brand{padding-top:var(--bs-navbar-brand-padding-y);padding-bottom:var(--bs-navbar-brand-padding-y);margin-right:var(--bs-navbar-brand-margin-end);font-size:var(--bs-navbar-brand-font-size);color:var(--bs-navbar-brand-color);text-decoration:none;white-space:nowrap}.navbar-brand:focus,.navbar-brand:hover{color:var(--bs-navbar-brand-hover-color)}.navbar-nav{--bs-nav-link-padding-x:0;--bs-nav-link-padding-y:0.5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color:var(--bs-navbar-color);--bs-nav-link-hover-color:var(--bs-navbar-hover-color);--bs-nav-link-disabled-color:var(--bs-navbar-disabled-color);display:flex;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link.active,.navbar-nav .show>.nav-link{color:var(--bs-navbar-active-color)}.navbar-nav .dropdown-menu{position:static}.navbar-text{padding-top:.5rem;padding-bottom:.5rem;color:var(--bs-navbar-color)}.navbar-text a,.navbar-text a:focus,.navbar-text a:hover{color:var(--bs-navbar-active-color)}.navbar-collapse{flex-basis:100%;flex-grow:1;align-items:center}.navbar-toggler{padding:var(--bs-navbar-toggler-padding-y) var(--bs-navbar-toggler-padding-x);font-size:var(--bs-navbar-toggler-font-size);line-height:1;color:var(--bs-navbar-color);background-color:transparent;border:var(--bs-border-width) solid var(--bs-navbar-toggler-border-color);border-radius:var(--bs-navbar-toggler-border-radius);transition:var(--bs-navbar-toggler-transition)}@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 var(--bs-navbar-toggler-focus-width)}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;background-image:var(--bs-navbar-toggler-icon-bg);background-repeat:no-repeat;background-position:center;background-size:100%}.navbar-nav-scroll{max-height:var(--bs-scroll-height,75vh);overflow-y:auto}@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:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-sm .navbar-nav-scroll{overflow:visible}.navbar-expand-sm .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}.navbar-expand-sm .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-sm .offcanvas .offcanvas-header{display:none}.navbar-expand-sm .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@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:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-md .navbar-nav-scroll{overflow:visible}.navbar-expand-md .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}.navbar-expand-md .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-md .offcanvas .offcanvas-header{display:none}.navbar-expand-md .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@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:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-lg .navbar-nav-scroll{overflow:visible}.navbar-expand-lg .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}.navbar-expand-lg .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-lg .offcanvas .offcanvas-header{display:none}.navbar-expand-lg .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@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:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-xl .navbar-nav-scroll{overflow:visible}.navbar-expand-xl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}.navbar-expand-xl .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-xl .offcanvas .offcanvas-header{display:none}.navbar-expand-xl .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@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:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-xxl .navbar-nav-scroll{overflow:visible}.navbar-expand-xxl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xxl .navbar-toggler{display:none}.navbar-expand-xxl .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-xxl .offcanvas .offcanvas-header{display:none}.navbar-expand-xxl .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}.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:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand .navbar-nav-scroll{overflow:visible}.navbar-expand .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-expand .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand .offcanvas .offcanvas-header{display:none}.navbar-expand .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}.navbar-dark{--bs-navbar-color:rgba(255, 255, 255, 0.55);--bs-navbar-hover-color:rgba(255, 255, 255, 0.75);--bs-navbar-disabled-color:rgba(255, 255, 255, 0.25);--bs-navbar-active-color:#fff;--bs-navbar-brand-color:#fff;--bs-navbar-brand-hover-color:#fff;--bs-navbar-toggler-border-color:rgba(255, 255, 255, 0.1);--bs-navbar-toggler-icon-bg: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")}.card{--bs-card-spacer-y:1rem;--bs-card-spacer-x:1rem;--bs-card-title-spacer-y:0.5rem;--bs-card-border-width:1px;--bs-card-border-color:var(--bs-border-color-translucent);--bs-card-border-radius:0.375rem;--bs-card-box-shadow: ;--bs-card-inner-border-radius:calc(0.375rem - 1px);--bs-card-cap-padding-y:0.5rem;--bs-card-cap-padding-x:1rem;--bs-card-cap-bg:rgba(0, 0, 0, 0.03);--bs-card-cap-color: ;--bs-card-height: ;--bs-card-color: ;--bs-card-bg:#fff;--bs-card-img-overlay-padding:1rem;--bs-card-group-margin:0.75rem;position:relative;display:flex;flex-direction:column;min-width:0;height:var(--bs-card-height);word-wrap:break-word;background-color:var(--bs-card-bg);background-clip:border-box;border:var(--bs-card-border-width) solid var(--bs-card-border-color);border-radius:var(--bs-card-border-radius)}.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:var(--bs-card-inner-border-radius);border-top-right-radius:var(--bs-card-inner-border-radius)}.card>.list-group:last-child{border-bottom-width:0;border-bottom-right-radius:var(--bs-card-inner-border-radius);border-bottom-left-radius:var(--bs-card-inner-border-radius)}.card>.card-header+.list-group,.card>.list-group+.card-footer{border-top:0}.card-body{flex:1 1 auto;padding:var(--bs-card-spacer-y) var(--bs-card-spacer-x);color:var(--bs-card-color)}.card-title{margin-bottom:var(--bs-card-title-spacer-y)}.card-subtitle{margin-top:calc(-.5 * var(--bs-card-title-spacer-y));margin-bottom:0}.card-text:last-child{margin-bottom:0}.card-link+.card-link{margin-left:var(--bs-card-spacer-x)}.card-header{padding:var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);margin-bottom:0;color:var(--bs-card-cap-color);background-color:var(--bs-card-cap-bg);border-bottom:var(--bs-card-border-width) solid var(--bs-card-border-color)}.card-header:first-child{border-radius:var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius) 0 0}.card-footer{padding:var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);color:var(--bs-card-cap-color);background-color:var(--bs-card-cap-bg);border-top:var(--bs-card-border-width) solid var(--bs-card-border-color)}.card-footer:last-child{border-radius:0 0 var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius)}.card-header-tabs{margin-right:calc(-.5 * var(--bs-card-cap-padding-x));margin-bottom:calc(-1 * var(--bs-card-cap-padding-y));margin-left:calc(-.5 * var(--bs-card-cap-padding-x));border-bottom:0}.card-header-tabs .nav-link.active{background-color:var(--bs-card-bg);border-bottom-color:var(--bs-card-bg)}.card-header-pills{margin-right:calc(-.5 * var(--bs-card-cap-padding-x));margin-left:calc(-.5 * var(--bs-card-cap-padding-x))}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:var(--bs-card-img-overlay-padding);border-radius:var(--bs-card-inner-border-radius)}.card-img,.card-img-bottom,.card-img-top{width:100%}.card-img,.card-img-top{border-top-left-radius:var(--bs-card-inner-border-radius);border-top-right-radius:var(--bs-card-inner-border-radius)}.card-img,.card-img-bottom{border-bottom-right-radius:var(--bs-card-inner-border-radius);border-bottom-left-radius:var(--bs-card-inner-border-radius)}.card-group>.card{margin-bottom:var(--bs-card-group-margin)}@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-header,.card-group>.card:not(:last-child) .card-img-top{border-top-right-radius:0}.card-group>.card:not(:last-child) .card-footer,.card-group>.card:not(:last-child) .card-img-bottom{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-header,.card-group>.card:not(:first-child) .card-img-top{border-top-left-radius:0}.card-group>.card:not(:first-child) .card-footer,.card-group>.card:not(:first-child) .card-img-bottom{border-bottom-left-radius:0}}.accordion{--bs-accordion-color:#000;--bs-accordion-bg:#fff;--bs-accordion-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;--bs-accordion-border-color:var(--bs-border-color);--bs-accordion-border-width:1px;--bs-accordion-border-radius:0.375rem;--bs-accordion-inner-border-radius:calc(0.375rem - 1px);--bs-accordion-btn-padding-x:1.25rem;--bs-accordion-btn-padding-y:1rem;--bs-accordion-btn-color:var(--bs-body-color);--bs-accordion-btn-bg:var(--bs-accordion-bg);--bs-accordion-btn-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='var%28--bs-body-color%29'%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");--bs-accordion-btn-icon-width:1.25rem;--bs-accordion-btn-icon-transform:rotate(-180deg);--bs-accordion-btn-icon-transition:transform 0.2s ease-in-out;--bs-accordion-btn-active-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%230c63e4'%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");--bs-accordion-btn-focus-border-color:#86b7fe;--bs-accordion-btn-focus-box-shadow:0 0 0 0.25rem rgba(13, 110, 253, 0.25);--bs-accordion-body-padding-x:1.25rem;--bs-accordion-body-padding-y:1rem;--bs-accordion-active-color:#0c63e4;--bs-accordion-active-bg:#e7f1ff}.accordion-button{position:relative;display:flex;align-items:center;width:100%;padding:var(--bs-accordion-btn-padding-y) var(--bs-accordion-btn-padding-x);font-size:1rem;color:var(--bs-accordion-btn-color);text-align:left;background-color:var(--bs-accordion-btn-bg);border:0;border-radius:0;overflow-anchor:none;transition:var(--bs-accordion-transition)}@media (prefers-reduced-motion:reduce){.accordion-button{transition:none}}.accordion-button:not(.collapsed){color:var(--bs-accordion-active-color);background-color:var(--bs-accordion-active-bg);box-shadow:inset 0 calc(var(--bs-accordion-border-width) * -1) 0 var(--bs-accordion-border-color)}.accordion-button:not(.collapsed)::after{background-image:var(--bs-accordion-btn-active-icon);transform:var(--bs-accordion-btn-icon-transform)}.accordion-button::after{flex-shrink:0;width:var(--bs-accordion-btn-icon-width);height:var(--bs-accordion-btn-icon-width);margin-left:auto;content:"";background-image:var(--bs-accordion-btn-icon);background-repeat:no-repeat;background-size:var(--bs-accordion-btn-icon-width);transition:var(--bs-accordion-btn-icon-transition)}@media (prefers-reduced-motion:reduce){.accordion-button::after{transition:none}}.accordion-button:hover{z-index:2}.accordion-button:focus{z-index:3;border-color:var(--bs-accordion-btn-focus-border-color);outline:0;box-shadow:var(--bs-accordion-btn-focus-box-shadow)}.accordion-header{margin-bottom:0}.accordion-item{color:var(--bs-accordion-color);background-color:var(--bs-accordion-bg);border:var(--bs-accordion-border-width) solid var(--bs-accordion-border-color)}.accordion-item:first-of-type{border-top-left-radius:var(--bs-accordion-border-radius);border-top-right-radius:var(--bs-accordion-border-radius)}.accordion-item:first-of-type .accordion-button{border-top-left-radius:var(--bs-accordion-inner-border-radius);border-top-right-radius:var(--bs-accordion-inner-border-radius)}.accordion-item:not(:first-of-type){border-top:0}.accordion-item:last-of-type{border-bottom-right-radius:var(--bs-accordion-border-radius);border-bottom-left-radius:var(--bs-accordion-border-radius)}.accordion-item:last-of-type .accordion-button.collapsed{border-bottom-right-radius:var(--bs-accordion-inner-border-radius);border-bottom-left-radius:var(--bs-accordion-inner-border-radius)}.accordion-item:last-of-type .accordion-collapse{border-bottom-right-radius:var(--bs-accordion-border-radius);border-bottom-left-radius:var(--bs-accordion-border-radius)}.accordion-body{padding:var(--bs-accordion-body-padding-y) var(--bs-accordion-body-padding-x)}.accordion-flush .accordion-collapse{border-width:0}.accordion-flush .accordion-item{border-right:0;border-left:0;border-radius:0}.accordion-flush .accordion-item:first-child{border-top:0}.accordion-flush .accordion-item:last-child{border-bottom:0}.accordion-flush .accordion-item .accordion-button{border-radius:0}.breadcrumb{--bs-breadcrumb-padding-x:0;--bs-breadcrumb-padding-y:0;--bs-breadcrumb-margin-bottom:1rem;--bs-breadcrumb-bg: ;--bs-breadcrumb-border-radius: ;--bs-breadcrumb-divider-color:#6c757d;--bs-breadcrumb-item-padding-x:0.5rem;--bs-breadcrumb-item-active-color:#6c757d;display:flex;flex-wrap:wrap;padding:var(--bs-breadcrumb-padding-y) var(--bs-breadcrumb-padding-x);margin-bottom:var(--bs-breadcrumb-margin-bottom);font-size:var(--bs-breadcrumb-font-size);list-style:none;background-color:var(--bs-breadcrumb-bg);border-radius:var(--bs-breadcrumb-border-radius)}.breadcrumb-item+.breadcrumb-item{padding-left:var(--bs-breadcrumb-item-padding-x)}.breadcrumb-item+.breadcrumb-item::before{float:left;padding-right:var(--bs-breadcrumb-item-padding-x);color:var(--bs-breadcrumb-divider-color);content:var(--bs-breadcrumb-divider, "/")}.breadcrumb-item.active{color:var(--bs-breadcrumb-item-active-color)}.pagination{--bs-pagination-padding-x:0.75rem;--bs-pagination-padding-y:0.375rem;--bs-pagination-font-size:1rem;--bs-pagination-color:var(--bs-link-color);--bs-pagination-bg:#fff;--bs-pagination-border-width:1px;--bs-pagination-border-color:#dee2e6;--bs-pagination-border-radius:0.375rem;--bs-pagination-hover-color:var(--bs-link-hover-color);--bs-pagination-hover-bg:#e9ecef;--bs-pagination-hover-border-color:#dee2e6;--bs-pagination-focus-color:var(--bs-link-hover-color);--bs-pagination-focus-bg:#e9ecef;--bs-pagination-focus-box-shadow:0 0 0 0.25rem rgba(13, 110, 253, 0.25);--bs-pagination-active-color:#fff;--bs-pagination-active-bg:#0d6efd;--bs-pagination-active-border-color:#0d6efd;--bs-pagination-disabled-color:#6c757d;--bs-pagination-disabled-bg:#fff;--bs-pagination-disabled-border-color:#dee2e6;display:flex;padding-left:0;list-style:none}.page-link{position:relative;display:block;padding:var(--bs-pagination-padding-y) var(--bs-pagination-padding-x);font-size:var(--bs-pagination-font-size);color:var(--bs-pagination-color);text-decoration:none;background-color:var(--bs-pagination-bg);border:var(--bs-pagination-border-width) solid var(--bs-pagination-border-color);transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.page-link{transition:none}}.page-link:hover{z-index:2;color:var(--bs-pagination-hover-color);background-color:var(--bs-pagination-hover-bg);border-color:var(--bs-pagination-hover-border-color)}.page-link:focus{z-index:3;color:var(--bs-pagination-focus-color);background-color:var(--bs-pagination-focus-bg);outline:0;box-shadow:var(--bs-pagination-focus-box-shadow)}.active>.page-link,.page-link.active{z-index:3;color:var(--bs-pagination-active-color);background-color:var(--bs-pagination-active-bg);border-color:var(--bs-pagination-active-border-color)}.disabled>.page-link,.page-link.disabled{color:var(--bs-pagination-disabled-color);pointer-events:none;background-color:var(--bs-pagination-disabled-bg);border-color:var(--bs-pagination-disabled-border-color)}.page-item:not(:first-child) .page-link{margin-left:-1px}.page-item:first-child .page-link{border-top-left-radius:var(--bs-pagination-border-radius);border-bottom-left-radius:var(--bs-pagination-border-radius)}.page-item:last-child .page-link{border-top-right-radius:var(--bs-pagination-border-radius);border-bottom-right-radius:var(--bs-pagination-border-radius)}.pagination-lg{--bs-pagination-padding-x:1.5rem;--bs-pagination-padding-y:0.75rem;--bs-pagination-font-size:1.25rem;--bs-pagination-border-radius:0.5rem}.pagination-sm{--bs-pagination-padding-x:0.5rem;--bs-pagination-padding-y:0.25rem;--bs-pagination-font-size:0.875rem;--bs-pagination-border-radius:0.25rem}.badge{--bs-badge-padding-x:0.65em;--bs-badge-padding-y:0.35em;--bs-badge-font-size:0.75em;--bs-badge-font-weight:700;--bs-badge-color:#fff;--bs-badge-border-radius:0.375rem;display:inline-block;padding:var(--bs-badge-padding-y) var(--bs-badge-padding-x);font-size:var(--bs-badge-font-size);font-weight:var(--bs-badge-font-weight);line-height:1;color:var(--bs-badge-color);text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:var(--bs-badge-border-radius)}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.alert{--bs-alert-bg:transparent;--bs-alert-padding-x:1rem;--bs-alert-padding-y:1rem;--bs-alert-margin-bottom:1rem;--bs-alert-color:inherit;--bs-alert-border-color:transparent;--bs-alert-border:1px solid var(--bs-alert-border-color);--bs-alert-border-radius:0.375rem;position:relative;padding:var(--bs-alert-padding-y) var(--bs-alert-padding-x);margin-bottom:var(--bs-alert-margin-bottom);color:var(--bs-alert-color);background-color:var(--bs-alert-bg);border:var(--bs-alert-border);border-radius:var(--bs-alert-border-radius)}.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{--bs-alert-color:#084298;--bs-alert-bg:#cfe2ff;--bs-alert-border-color:#b6d4fe}.alert-primary .alert-link{color:#06357a}.alert-secondary{--bs-alert-color:#41464b;--bs-alert-bg:#e2e3e5;--bs-alert-border-color:#d3d6d8}.alert-secondary .alert-link{color:#34383c}.alert-success{--bs-alert-color:#0f5132;--bs-alert-bg:#d1e7dd;--bs-alert-border-color:#badbcc}.alert-success .alert-link{color:#0c4128}.alert-info{--bs-alert-color:#055160;--bs-alert-bg:#cff4fc;--bs-alert-border-color:#b6effb}.alert-info .alert-link{color:#04414d}.alert-warning{--bs-alert-color:#664d03;--bs-alert-bg:#fff3cd;--bs-alert-border-color:#ffecb5}.alert-warning .alert-link{color:#523e02}.alert-danger{--bs-alert-color:#842029;--bs-alert-bg:#f8d7da;--bs-alert-border-color:#f5c2c7}.alert-danger .alert-link{color:#6a1a21}.alert-light{--bs-alert-color:#636464;--bs-alert-bg:#fefefe;--bs-alert-border-color:#fdfdfe}.alert-light .alert-link{color:#4f5050}.alert-dark{--bs-alert-color:#141619;--bs-alert-bg:#d3d3d4;--bs-alert-border-color:#bcbebf}.alert-dark .alert-link{color:#101214}@-webkit-keyframes progress-bar-stripes{0%{background-position-x:1rem}}@keyframes progress-bar-stripes{0%{background-position-x:1rem}}.progress{--bs-progress-height:1rem;--bs-progress-font-size:0.75rem;--bs-progress-bg:#e9ecef;--bs-progress-border-radius:0.375rem;--bs-progress-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.075);--bs-progress-bar-color:#fff;--bs-progress-bar-bg:#0d6efd;--bs-progress-bar-transition:width 0.6s ease;display:flex;height:var(--bs-progress-height);overflow:hidden;font-size:var(--bs-progress-font-size);background-color:var(--bs-progress-bg);border-radius:var(--bs-progress-border-radius)}.progress-bar{display:flex;flex-direction:column;justify-content:center;overflow:hidden;color:var(--bs-progress-bar-color);text-align:center;white-space:nowrap;background-color:var(--bs-progress-bar-bg);transition:var(--bs-progress-bar-transition)}@media (prefers-reduced-motion:reduce){.progress-bar{transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:var(--bs-progress-height) var(--bs-progress-height)}.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{--bs-list-group-color:#212529;--bs-list-group-bg:#fff;--bs-list-group-border-color:rgba(0, 0, 0, 0.125);--bs-list-group-border-width:1px;--bs-list-group-border-radius:0.375rem;--bs-list-group-item-padding-x:1rem;--bs-list-group-item-padding-y:0.5rem;--bs-list-group-action-color:#495057;--bs-list-group-action-hover-color:#495057;--bs-list-group-action-hover-bg:#f8f9fa;--bs-list-group-action-active-color:#212529;--bs-list-group-action-active-bg:#e9ecef;--bs-list-group-disabled-color:#6c757d;--bs-list-group-disabled-bg:#fff;--bs-list-group-active-color:#fff;--bs-list-group-active-bg:#0d6efd;--bs-list-group-active-border-color:#0d6efd;display:flex;flex-direction:column;padding-left:0;margin-bottom:0;border-radius:var(--bs-list-group-border-radius)}.list-group-numbered{list-style-type:none;counter-reset:section}.list-group-numbered>.list-group-item::before{content:counters(section, ".") ". ";counter-increment:section}.list-group-item-action{width:100%;color:var(--bs-list-group-action-color);text-align:inherit}.list-group-item-action:focus,.list-group-item-action:hover{z-index:1;color:var(--bs-list-group-action-hover-color);text-decoration:none;background-color:var(--bs-list-group-action-hover-bg)}.list-group-item-action:active{color:var(--bs-list-group-action-active-color);background-color:var(--bs-list-group-action-active-bg)}.list-group-item{position:relative;display:block;padding:var(--bs-list-group-item-padding-y) var(--bs-list-group-item-padding-x);color:var(--bs-list-group-color);text-decoration:none;background-color:var(--bs-list-group-bg);border:var(--bs-list-group-border-width) solid var(--bs-list-group-border-color)}.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:var(--bs-list-group-disabled-color);pointer-events:none;background-color:var(--bs-list-group-disabled-bg)}.list-group-item.active{z-index:2;color:var(--bs-list-group-active-color);background-color:var(--bs-list-group-active-bg);border-color:var(--bs-list-group-active-border-color)}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{margin-top:calc(var(--bs-list-group-border-width) * -1);border-top-width:var(--bs-list-group-border-width)}.list-group-horizontal{flex-direction:row}.list-group-horizontal>.list-group-item:first-child{border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal>.list-group-item:last-child{border-top-right-radius:var(--bs-list-group-border-radius);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:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal>.list-group-item+.list-group-item.active{margin-left:calc(var(--bs-list-group-border-width) * -1);border-left-width:var(--bs-list-group-border-width)}@media (min-width:576px){.list-group-horizontal-sm{flex-direction:row}.list-group-horizontal-sm>.list-group-item:first-child{border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-sm>.list-group-item:last-child{border-top-right-radius:var(--bs-list-group-border-radius);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:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-sm>.list-group-item+.list-group-item.active{margin-left:calc(var(--bs-list-group-border-width) * -1);border-left-width:var(--bs-list-group-border-width)}}@media (min-width:768px){.list-group-horizontal-md{flex-direction:row}.list-group-horizontal-md>.list-group-item:first-child{border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-md>.list-group-item:last-child{border-top-right-radius:var(--bs-list-group-border-radius);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:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-md>.list-group-item+.list-group-item.active{margin-left:calc(var(--bs-list-group-border-width) * -1);border-left-width:var(--bs-list-group-border-width)}}@media (min-width:992px){.list-group-horizontal-lg{flex-direction:row}.list-group-horizontal-lg>.list-group-item:first-child{border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-lg>.list-group-item:last-child{border-top-right-radius:var(--bs-list-group-border-radius);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:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-lg>.list-group-item+.list-group-item.active{margin-left:calc(var(--bs-list-group-border-width) * -1);border-left-width:var(--bs-list-group-border-width)}}@media (min-width:1200px){.list-group-horizontal-xl{flex-direction:row}.list-group-horizontal-xl>.list-group-item:first-child{border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-xl>.list-group-item:last-child{border-top-right-radius:var(--bs-list-group-border-radius);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:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-xl>.list-group-item+.list-group-item.active{margin-left:calc(var(--bs-list-group-border-width) * -1);border-left-width:var(--bs-list-group-border-width)}}@media (min-width:1400px){.list-group-horizontal-xxl{flex-direction:row}.list-group-horizontal-xxl>.list-group-item:first-child{border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-xxl>.list-group-item:last-child{border-top-right-radius:var(--bs-list-group-border-radius);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:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item.active{margin-left:calc(var(--bs-list-group-border-width) * -1);border-left-width:var(--bs-list-group-border-width)}}.list-group-flush{border-radius:0}.list-group-flush>.list-group-item{border-width:0 0 var(--bs-list-group-border-width)}.list-group-flush>.list-group-item:last-child{border-bottom-width:0}.list-group-item-primary{color:#084298;background-color:#cfe2ff}.list-group-item-primary.list-group-item-action:focus,.list-group-item-primary.list-group-item-action:hover{color:#084298;background-color:#bacbe6}.list-group-item-primary.list-group-item-action.active{color:#fff;background-color:#084298;border-color:#084298}.list-group-item-secondary{color:#41464b;background-color:#e2e3e5}.list-group-item-secondary.list-group-item-action:focus,.list-group-item-secondary.list-group-item-action:hover{color:#41464b;background-color:#cbccce}.list-group-item-secondary.list-group-item-action.active{color:#fff;background-color:#41464b;border-color:#41464b}.list-group-item-success{color:#0f5132;background-color:#d1e7dd}.list-group-item-success.list-group-item-action:focus,.list-group-item-success.list-group-item-action:hover{color:#0f5132;background-color:#bcd0c7}.list-group-item-success.list-group-item-action.active{color:#fff;background-color:#0f5132;border-color:#0f5132}.list-group-item-info{color:#055160;background-color:#cff4fc}.list-group-item-info.list-group-item-action:focus,.list-group-item-info.list-group-item-action:hover{color:#055160;background-color:#badce3}.list-group-item-info.list-group-item-action.active{color:#fff;background-color:#055160;border-color:#055160}.list-group-item-warning{color:#664d03;background-color:#fff3cd}.list-group-item-warning.list-group-item-action:focus,.list-group-item-warning.list-group-item-action:hover{color:#664d03;background-color:#e6dbb9}.list-group-item-warning.list-group-item-action.active{color:#fff;background-color:#664d03;border-color:#664d03}.list-group-item-danger{color:#842029;background-color:#f8d7da}.list-group-item-danger.list-group-item-action:focus,.list-group-item-danger.list-group-item-action:hover{color:#842029;background-color:#dfc2c4}.list-group-item-danger.list-group-item-action.active{color:#fff;background-color:#842029;border-color:#842029}.list-group-item-light{color:#636464;background-color:#fefefe}.list-group-item-light.list-group-item-action:focus,.list-group-item-light.list-group-item-action:hover{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:#141619;background-color:#d3d3d4}.list-group-item-dark.list-group-item-action:focus,.list-group-item-dark.list-group-item-action:hover{color:#141619;background-color:#bebebf}.list-group-item-dark.list-group-item-action.active{color:#fff;background-color:#141619;border-color:#141619}.btn-close{box-sizing:content-box;width:1em;height:1em;padding:.25em .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 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat;border:0;border-radius:.375rem;opacity:.5}.btn-close:hover{color:#000;text-decoration:none;opacity:.75}.btn-close:focus{outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25);opacity:1}.btn-close.disabled,.btn-close:disabled{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;opacity:.25}.btn-close-white{filter:invert(1) grayscale(100%) brightness(200%)}.toast{--bs-toast-padding-x:0.75rem;--bs-toast-padding-y:0.5rem;--bs-toast-spacing:1.5rem;--bs-toast-max-width:350px;--bs-toast-font-size:0.875rem;--bs-toast-color: ;--bs-toast-bg:rgba(255, 255, 255, 0.85);--bs-toast-border-width:1px;--bs-toast-border-color:var(--bs-border-color-translucent);--bs-toast-border-radius:0.375rem;--bs-toast-box-shadow:0 0.5rem 1rem rgba(0, 0, 0, 0.15);--bs-toast-header-color:#6c757d;--bs-toast-header-bg:rgba(255, 255, 255, 0.85);--bs-toast-header-border-color:rgba(0, 0, 0, 0.05);width:var(--bs-toast-max-width);max-width:100%;font-size:var(--bs-toast-font-size);color:var(--bs-toast-color);pointer-events:auto;background-color:var(--bs-toast-bg);background-clip:padding-box;border:var(--bs-toast-border-width) solid var(--bs-toast-border-color);box-shadow:var(--bs-toast-box-shadow);border-radius:var(--bs-toast-border-radius)}.toast.showing{opacity:0}.toast:not(.show){display:none}.toast-container{position:absolute;z-index:1090;width:-webkit-max-content;width:-moz-max-content;width:max-content;max-width:100%;pointer-events:none}.toast-container>:not(:last-child){margin-bottom:var(--bs-toast-spacing)}.toast-header{display:flex;align-items:center;padding:var(--bs-toast-padding-y) var(--bs-toast-padding-x);color:var(--bs-toast-header-color);background-color:var(--bs-toast-header-bg);background-clip:padding-box;border-bottom:var(--bs-toast-border-width) solid var(--bs-toast-header-border-color);border-top-left-radius:calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width));border-top-right-radius:calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width))}.toast-header .btn-close{margin-right:calc(var(--bs-toast-padding-x) * -.5);margin-left:var(--bs-toast-padding-x)}.toast-body{padding:var(--bs-toast-padding-x);word-wrap:break-word}.modal{--bs-modal-zindex:1055;--bs-modal-width:500px;--bs-modal-padding:1rem;--bs-modal-margin:0.5rem;--bs-modal-color: ;--bs-modal-bg:#fff;--bs-modal-border-color:var(--bs-border-color-translucent);--bs-modal-border-width:1px;--bs-modal-border-radius:0.5rem;--bs-modal-box-shadow:0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);--bs-modal-inner-border-radius:calc(0.5rem - 1px);--bs-modal-header-padding-x:1rem;--bs-modal-header-padding-y:1rem;--bs-modal-header-padding:1rem 1rem;--bs-modal-header-border-color:var(--bs-border-color);--bs-modal-header-border-width:1px;--bs-modal-title-line-height:1.5;--bs-modal-footer-gap:0.5rem;--bs-modal-footer-bg: ;--bs-modal-footer-border-color:var(--bs-border-color);--bs-modal-footer-border-width:1px;position:fixed;top:0;left:0;z-index:var(--bs-modal-zindex);display:none;width:100%;height:100%;overflow-x:hidden;overflow-y:auto;outline:0}.modal-dialog{position:relative;width:auto;margin:var(--bs-modal-margin);pointer-events:none}.modal.fade .modal-dialog{transition:transform .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% - var(--bs-modal-margin) * 2)}.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% - var(--bs-modal-margin) * 2)}.modal-content{position:relative;display:flex;flex-direction:column;width:100%;color:var(--bs-modal-color);pointer-events:auto;background-color:var(--bs-modal-bg);background-clip:padding-box;border:var(--bs-modal-border-width) solid var(--bs-modal-border-color);border-radius:var(--bs-modal-border-radius);outline:0}.modal-backdrop{--bs-backdrop-zindex:1050;--bs-backdrop-bg:#000;--bs-backdrop-opacity:0.5;position:fixed;top:0;left:0;z-index:var(--bs-backdrop-zindex);width:100vw;height:100vh;background-color:var(--bs-backdrop-bg)}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:var(--bs-backdrop-opacity)}.modal-header{display:flex;flex-shrink:0;align-items:center;justify-content:space-between;padding:var(--bs-modal-header-padding);border-bottom:var(--bs-modal-header-border-width) solid var(--bs-modal-header-border-color);border-top-left-radius:var(--bs-modal-inner-border-radius);border-top-right-radius:var(--bs-modal-inner-border-radius)}.modal-header .btn-close{padding:calc(var(--bs-modal-header-padding-y) * .5) calc(var(--bs-modal-header-padding-x) * .5);margin:calc(var(--bs-modal-header-padding-y) * -.5) calc(var(--bs-modal-header-padding-x) * -.5) calc(var(--bs-modal-header-padding-y) * -.5) auto}.modal-title{margin-bottom:0;line-height:var(--bs-modal-title-line-height)}.modal-body{position:relative;flex:1 1 auto;padding:var(--bs-modal-padding)}.modal-footer{display:flex;flex-shrink:0;flex-wrap:wrap;align-items:center;justify-content:flex-end;padding:calc(var(--bs-modal-padding) - var(--bs-modal-footer-gap) * .5);background-color:var(--bs-modal-footer-bg);border-top:var(--bs-modal-footer-border-width) solid var(--bs-modal-footer-border-color);border-bottom-right-radius:var(--bs-modal-inner-border-radius);border-bottom-left-radius:var(--bs-modal-inner-border-radius)}.modal-footer>*{margin:calc(var(--bs-modal-footer-gap) * .5)}@media (min-width:576px){.modal{--bs-modal-margin:1.75rem;--bs-modal-box-shadow:0 0.5rem 1rem rgba(0, 0, 0, 0.15)}.modal-dialog{max-width:var(--bs-modal-width);margin-right:auto;margin-left:auto}.modal-sm{--bs-modal-width:300px}}@media (min-width:992px){.modal-lg,.modal-xl{--bs-modal-width:800px}}@media (min-width:1200px){.modal-xl{--bs-modal-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-footer,.modal-fullscreen .modal-header{border-radius:0}.modal-fullscreen .modal-body{overflow-y:auto}@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-footer,.modal-fullscreen-sm-down .modal-header{border-radius:0}.modal-fullscreen-sm-down .modal-body{overflow-y:auto}}@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-footer,.modal-fullscreen-md-down .modal-header{border-radius:0}.modal-fullscreen-md-down .modal-body{overflow-y:auto}}@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-footer,.modal-fullscreen-lg-down .modal-header{border-radius:0}.modal-fullscreen-lg-down .modal-body{overflow-y:auto}}@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-footer,.modal-fullscreen-xl-down .modal-header{border-radius:0}.modal-fullscreen-xl-down .modal-body{overflow-y:auto}}@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-footer,.modal-fullscreen-xxl-down .modal-header{border-radius:0}.modal-fullscreen-xxl-down .modal-body{overflow-y:auto}}.tooltip{--bs-tooltip-zindex:1080;--bs-tooltip-max-width:200px;--bs-tooltip-padding-x:0.5rem;--bs-tooltip-padding-y:0.25rem;--bs-tooltip-margin: ;--bs-tooltip-font-size:0.875rem;--bs-tooltip-color:#fff;--bs-tooltip-bg:#000;--bs-tooltip-border-radius:0.375rem;--bs-tooltip-opacity:0.9;--bs-tooltip-arrow-width:0.8rem;--bs-tooltip-arrow-height:0.4rem;z-index:var(--bs-tooltip-zindex);display:block;padding:var(--bs-tooltip-arrow-height);margin:var(--bs-tooltip-margin);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;white-space:normal;word-spacing:normal;line-break:auto;font-size:var(--bs-tooltip-font-size);word-wrap:break-word;opacity:0}.tooltip.show{opacity:var(--bs-tooltip-opacity)}.tooltip .tooltip-arrow{display:block;width:var(--bs-tooltip-arrow-width);height:var(--bs-tooltip-arrow-height)}.tooltip .tooltip-arrow::before{position:absolute;content:"";border-color:transparent;border-style:solid}.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow,.bs-tooltip-top .tooltip-arrow{bottom:0}.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow::before,.bs-tooltip-top .tooltip-arrow::before{top:-1px;border-width:var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * .5) 0;border-top-color:var(--bs-tooltip-bg)}.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow,.bs-tooltip-end .tooltip-arrow{left:0;width:var(--bs-tooltip-arrow-height);height:var(--bs-tooltip-arrow-width)}.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow::before,.bs-tooltip-end .tooltip-arrow::before{right:-1px;border-width:calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * .5) 0;border-right-color:var(--bs-tooltip-bg)}.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow,.bs-tooltip-bottom .tooltip-arrow{top:0}.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow::before,.bs-tooltip-bottom .tooltip-arrow::before{bottom:-1px;border-width:0 calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height);border-bottom-color:var(--bs-tooltip-bg)}.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow,.bs-tooltip-start .tooltip-arrow{right:0;width:var(--bs-tooltip-arrow-height);height:var(--bs-tooltip-arrow-width)}.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow::before,.bs-tooltip-start .tooltip-arrow::before{left:-1px;border-width:calc(var(--bs-tooltip-arrow-width) * .5) 0 calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height);border-left-color:var(--bs-tooltip-bg)}.tooltip-inner{max-width:var(--bs-tooltip-max-width);padding:var(--bs-tooltip-padding-y) var(--bs-tooltip-padding-x);color:var(--bs-tooltip-color);text-align:center;background-color:var(--bs-tooltip-bg);border-radius:var(--bs-tooltip-border-radius)}.popover{--bs-popover-zindex:1070;--bs-popover-max-width:276px;--bs-popover-font-size:0.875rem;--bs-popover-bg:#fff;--bs-popover-border-width:1px;--bs-popover-border-color:var(--bs-border-color-translucent);--bs-popover-border-radius:0.5rem;--bs-popover-inner-border-radius:calc(0.5rem - 1px);--bs-popover-box-shadow:0 0.5rem 1rem rgba(0, 0, 0, 0.15);--bs-popover-header-padding-x:1rem;--bs-popover-header-padding-y:0.5rem;--bs-popover-header-font-size:1rem;--bs-popover-header-color:var(--bs-heading-color);--bs-popover-header-bg:#f0f0f0;--bs-popover-body-padding-x:1rem;--bs-popover-body-padding-y:1rem;--bs-popover-body-color:#212529;--bs-popover-arrow-width:1rem;--bs-popover-arrow-height:0.5rem;--bs-popover-arrow-border:var(--bs-popover-border-color);z-index:var(--bs-popover-zindex);display:block;max-width:var(--bs-popover-max-width);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;white-space:normal;word-spacing:normal;line-break:auto;font-size:var(--bs-popover-font-size);word-wrap:break-word;background-color:var(--bs-popover-bg);background-clip:padding-box;border:var(--bs-popover-border-width) solid var(--bs-popover-border-color);border-radius:var(--bs-popover-border-radius)}.popover .popover-arrow{display:block;width:var(--bs-popover-arrow-width);height:var(--bs-popover-arrow-height)}.popover .popover-arrow::after,.popover .popover-arrow::before{position:absolute;display:block;content:"";border-color:transparent;border-style:solid;border-width:0}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow,.bs-popover-top>.popover-arrow{bottom:calc(var(--bs-popover-arrow-height) * -1 - var(--bs-popover-border-width))}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::before,.bs-popover-top>.popover-arrow::after,.bs-popover-top>.popover-arrow::before{border-width:var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * .5) 0}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::before,.bs-popover-top>.popover-arrow::before{bottom:0;border-top-color:var(--bs-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::after,.bs-popover-top>.popover-arrow::after{bottom:var(--bs-popover-border-width);border-top-color:var(--bs-popover-bg)}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow,.bs-popover-end>.popover-arrow{left:calc(var(--bs-popover-arrow-height) * -1 - var(--bs-popover-border-width));width:var(--bs-popover-arrow-height);height:var(--bs-popover-arrow-width)}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::before,.bs-popover-end>.popover-arrow::after,.bs-popover-end>.popover-arrow::before{border-width:calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * .5) 0}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::before,.bs-popover-end>.popover-arrow::before{left:0;border-right-color:var(--bs-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::after,.bs-popover-end>.popover-arrow::after{left:var(--bs-popover-border-width);border-right-color:var(--bs-popover-bg)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow,.bs-popover-bottom>.popover-arrow{top:calc(var(--bs-popover-arrow-height) * -1 - var(--bs-popover-border-width))}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::before,.bs-popover-bottom>.popover-arrow::after,.bs-popover-bottom>.popover-arrow::before{border-width:0 calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::before,.bs-popover-bottom>.popover-arrow::before{top:0;border-bottom-color:var(--bs-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::after,.bs-popover-bottom>.popover-arrow::after{top:var(--bs-popover-border-width);border-bottom-color:var(--bs-popover-bg)}.bs-popover-auto[data-popper-placement^=bottom] .popover-header::before,.bs-popover-bottom .popover-header::before{position:absolute;top:0;left:50%;display:block;width:var(--bs-popover-arrow-width);margin-left:calc(var(--bs-popover-arrow-width) * -.5);content:"";border-bottom:var(--bs-popover-border-width) solid var(--bs-popover-header-bg)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow,.bs-popover-start>.popover-arrow{right:calc(var(--bs-popover-arrow-height) * -1 - var(--bs-popover-border-width));width:var(--bs-popover-arrow-height);height:var(--bs-popover-arrow-width)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::before,.bs-popover-start>.popover-arrow::after,.bs-popover-start>.popover-arrow::before{border-width:calc(var(--bs-popover-arrow-width) * .5) 0 calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::before,.bs-popover-start>.popover-arrow::before{right:0;border-left-color:var(--bs-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::after,.bs-popover-start>.popover-arrow::after{right:var(--bs-popover-border-width);border-left-color:var(--bs-popover-bg)}.popover-header{padding:var(--bs-popover-header-padding-y) var(--bs-popover-header-padding-x);margin-bottom:0;font-size:var(--bs-popover-header-font-size);color:var(--bs-popover-header-color);background-color:var(--bs-popover-header-bg);border-bottom:var(--bs-popover-border-width) solid var(--bs-popover-border-color);border-top-left-radius:var(--bs-popover-inner-border-radius);border-top-right-radius:var(--bs-popover-inner-border-radius)}.popover-header:empty{display:none}.popover-body{padding:var(--bs-popover-body-padding-y) var(--bs-popover-body-padding-x);color:var(--bs-popover-body-color)}.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 .6s ease-in-out}@media (prefers-reduced-motion:reduce){.carousel-item{transition:none}}.carousel-item-next,.carousel-item-prev,.carousel-item.active{display:block}.active.carousel-item-end,.carousel-item-next:not(.carousel-item-start){transform:translateX(100%)}.active.carousel-item-start,.carousel-item-prev:not(.carousel-item-end){transform:translateX(-100%)}.carousel-fade .carousel-item{opacity:0;transition-property:opacity;transform:none}.carousel-fade .carousel-item-next.carousel-item-start,.carousel-fade .carousel-item-prev.carousel-item-end,.carousel-fade .carousel-item.active{z-index:1;opacity:1}.carousel-fade .active.carousel-item-end,.carousel-fade .active.carousel-item-start{z-index:0;opacity:0;transition:opacity 0s .6s}@media (prefers-reduced-motion:reduce){.carousel-fade .active.carousel-item-end,.carousel-fade .active.carousel-item-start{transition:none}}.carousel-control-next,.carousel-control-prev{position:absolute;top:0;bottom:0;z-index:1;display:flex;align-items:center;justify-content:center;width:15%;padding:0;color:#fff;text-align:center;background:0 0;border:0;opacity:.5;transition:opacity .15s ease}@media (prefers-reduced-motion:reduce){.carousel-control-next,.carousel-control-prev{transition:none}}.carousel-control-next:focus,.carousel-control-next:hover,.carousel-control-prev:focus,.carousel-control-prev:hover{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-next-icon,.carousel-control-prev-icon{display:inline-block;width:2rem;height:2rem;background-repeat:no-repeat;background-position:50%;background-size:100% 100%}.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:0;margin-right:15%;margin-bottom:1rem;margin-left:15%;list-style:none}.carousel-indicators [data-bs-target]{box-sizing:content-box;flex:0 1 auto;width:30px;height:3px;padding:0;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border:0;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .6s ease}@media (prefers-reduced-motion:reduce){.carousel-indicators [data-bs-target]{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-next-icon,.carousel-dark .carousel-control-prev-icon{filter:invert(1) grayscale(100)}.carousel-dark .carousel-indicators [data-bs-target]{background-color:#000}.carousel-dark .carousel-caption{color:#000}.spinner-border,.spinner-grow{display:inline-block;width:var(--bs-spinner-width);height:var(--bs-spinner-height);vertical-align:var(--bs-spinner-vertical-align);border-radius:50%;-webkit-animation:var(--bs-spinner-animation-speed) linear infinite var(--bs-spinner-animation-name);animation:var(--bs-spinner-animation-speed) linear infinite var(--bs-spinner-animation-name)}@-webkit-keyframes spinner-border{to{transform:rotate(360deg)}}@keyframes spinner-border{to{transform:rotate(360deg)}}.spinner-border{--bs-spinner-width:2rem;--bs-spinner-height:2rem;--bs-spinner-vertical-align:-0.125em;--bs-spinner-border-width:0.25em;--bs-spinner-animation-speed:0.75s;--bs-spinner-animation-name:spinner-border;border:var(--bs-spinner-border-width) solid currentcolor;border-right-color:transparent}.spinner-border-sm{--bs-spinner-width:1rem;--bs-spinner-height:1rem;--bs-spinner-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{--bs-spinner-width:2rem;--bs-spinner-height:2rem;--bs-spinner-vertical-align:-0.125em;--bs-spinner-animation-speed:0.75s;--bs-spinner-animation-name:spinner-grow;background-color:currentcolor;opacity:0}.spinner-grow-sm{--bs-spinner-width:1rem;--bs-spinner-height:1rem}@media (prefers-reduced-motion:reduce){.spinner-border,.spinner-grow{--bs-spinner-animation-speed:1.5s}}.offcanvas,.offcanvas-lg,.offcanvas-md,.offcanvas-sm,.offcanvas-xl,.offcanvas-xxl{--bs-offcanvas-width:400px;--bs-offcanvas-height:30vh;--bs-offcanvas-padding-x:1rem;--bs-offcanvas-padding-y:1rem;--bs-offcanvas-color: ;--bs-offcanvas-bg:#fff;--bs-offcanvas-border-width:1px;--bs-offcanvas-border-color:var(--bs-border-color-translucent);--bs-offcanvas-box-shadow:0 0.125rem 0.25rem rgba(0, 0, 0, 0.075)}@media (max-width:575.98px){.offcanvas-sm{position:fixed;bottom:0;z-index:1045;display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:transform .3s ease-in-out}}@media (max-width:575.98px) and (prefers-reduced-motion:reduce){.offcanvas-sm{transition:none}}@media (max-width:575.98px){.offcanvas-sm.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}}@media (max-width:575.98px){.offcanvas-sm.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}}@media (max-width:575.98px){.offcanvas-sm.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}}@media (max-width:575.98px){.offcanvas-sm.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}}@media (max-width:575.98px){.offcanvas-sm.show:not(.hiding),.offcanvas-sm.showing{transform:none}}@media (max-width:575.98px){.offcanvas-sm.hiding,.offcanvas-sm.show,.offcanvas-sm.showing{visibility:visible}}@media (min-width:576px){.offcanvas-sm{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-sm .offcanvas-header{display:none}.offcanvas-sm .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width:767.98px){.offcanvas-md{position:fixed;bottom:0;z-index:1045;display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:transform .3s ease-in-out}}@media (max-width:767.98px) and (prefers-reduced-motion:reduce){.offcanvas-md{transition:none}}@media (max-width:767.98px){.offcanvas-md.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}}@media (max-width:767.98px){.offcanvas-md.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}}@media (max-width:767.98px){.offcanvas-md.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}}@media (max-width:767.98px){.offcanvas-md.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}}@media (max-width:767.98px){.offcanvas-md.show:not(.hiding),.offcanvas-md.showing{transform:none}}@media (max-width:767.98px){.offcanvas-md.hiding,.offcanvas-md.show,.offcanvas-md.showing{visibility:visible}}@media (min-width:768px){.offcanvas-md{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-md .offcanvas-header{display:none}.offcanvas-md .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width:991.98px){.offcanvas-lg{position:fixed;bottom:0;z-index:1045;display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:transform .3s ease-in-out}}@media (max-width:991.98px) and (prefers-reduced-motion:reduce){.offcanvas-lg{transition:none}}@media (max-width:991.98px){.offcanvas-lg.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}}@media (max-width:991.98px){.offcanvas-lg.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}}@media (max-width:991.98px){.offcanvas-lg.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}}@media (max-width:991.98px){.offcanvas-lg.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}}@media (max-width:991.98px){.offcanvas-lg.show:not(.hiding),.offcanvas-lg.showing{transform:none}}@media (max-width:991.98px){.offcanvas-lg.hiding,.offcanvas-lg.show,.offcanvas-lg.showing{visibility:visible}}@media (min-width:992px){.offcanvas-lg{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-lg .offcanvas-header{display:none}.offcanvas-lg .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width:1199.98px){.offcanvas-xl{position:fixed;bottom:0;z-index:1045;display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:transform .3s ease-in-out}}@media (max-width:1199.98px) and (prefers-reduced-motion:reduce){.offcanvas-xl{transition:none}}@media (max-width:1199.98px){.offcanvas-xl.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}}@media (max-width:1199.98px){.offcanvas-xl.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}}@media (max-width:1199.98px){.offcanvas-xl.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}}@media (max-width:1199.98px){.offcanvas-xl.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}}@media (max-width:1199.98px){.offcanvas-xl.show:not(.hiding),.offcanvas-xl.showing{transform:none}}@media (max-width:1199.98px){.offcanvas-xl.hiding,.offcanvas-xl.show,.offcanvas-xl.showing{visibility:visible}}@media (min-width:1200px){.offcanvas-xl{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-xl .offcanvas-header{display:none}.offcanvas-xl .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width:1399.98px){.offcanvas-xxl{position:fixed;bottom:0;z-index:1045;display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:transform .3s ease-in-out}}@media (max-width:1399.98px) and (prefers-reduced-motion:reduce){.offcanvas-xxl{transition:none}}@media (max-width:1399.98px){.offcanvas-xxl.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}}@media (max-width:1399.98px){.offcanvas-xxl.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}}@media (max-width:1399.98px){.offcanvas-xxl.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}}@media (max-width:1399.98px){.offcanvas-xxl.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}}@media (max-width:1399.98px){.offcanvas-xxl.show:not(.hiding),.offcanvas-xxl.showing{transform:none}}@media (max-width:1399.98px){.offcanvas-xxl.hiding,.offcanvas-xxl.show,.offcanvas-xxl.showing{visibility:visible}}@media (min-width:1400px){.offcanvas-xxl{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-xxl .offcanvas-header{display:none}.offcanvas-xxl .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}.offcanvas{position:fixed;bottom:0;z-index:1045;display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:transform .3s ease-in-out}@media (prefers-reduced-motion:reduce){.offcanvas{transition:none}}.offcanvas.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas.show:not(.hiding),.offcanvas.showing{transform:none}.offcanvas.hiding,.offcanvas.show,.offcanvas.showing{visibility:visible}.offcanvas-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}.offcanvas-backdrop.fade{opacity:0}.offcanvas-backdrop.show{opacity:.5}.offcanvas-header{display:flex;align-items:center;justify-content:space-between;padding:var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x)}.offcanvas-header .btn-close{padding:calc(var(--bs-offcanvas-padding-y) * .5) calc(var(--bs-offcanvas-padding-x) * .5);margin-top:calc(var(--bs-offcanvas-padding-y) * -.5);margin-right:calc(var(--bs-offcanvas-padding-x) * -.5);margin-bottom:calc(var(--bs-offcanvas-padding-y) * -.5)}.offcanvas-title{margin-bottom:0;line-height:1.5}.offcanvas-body{flex-grow:1;padding:var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x);overflow-y:auto}.placeholder{display:inline-block;min-height:1em;vertical-align:middle;cursor:wait;background-color:currentcolor;opacity:.5}.placeholder.btn::before{display:inline-block;content:""}.placeholder-xs{min-height:.6em}.placeholder-sm{min-height:.8em}.placeholder-lg{min-height:1.2em}.placeholder-glow .placeholder{-webkit-animation:placeholder-glow 2s ease-in-out infinite;animation:placeholder-glow 2s ease-in-out infinite}@-webkit-keyframes placeholder-glow{50%{opacity:.2}}@keyframes placeholder-glow{50%{opacity:.2}}.placeholder-wave{-webkit-mask-image:linear-gradient(130deg,#000 55%,rgba(0,0,0,0.8) 75%,#000 95%);mask-image:linear-gradient(130deg,#000 55%,rgba(0,0,0,0.8) 75%,#000 95%);-webkit-mask-size:200% 100%;mask-size:200% 100%;-webkit-animation:placeholder-wave 2s linear infinite;animation:placeholder-wave 2s linear infinite}@-webkit-keyframes placeholder-wave{100%{-webkit-mask-position:-200% 0%;mask-position:-200% 0%}}@keyframes placeholder-wave{100%{-webkit-mask-position:-200% 0%;mask-position:-200% 0%}}.clearfix::after{display:block;clear:both;content:""}.text-bg-primary{color:#fff!important;background-color:RGBA(13,110,253,var(--bs-bg-opacity,1))!important}.text-bg-secondary{color:#fff!important;background-color:RGBA(108,117,125,var(--bs-bg-opacity,1))!important}.text-bg-success{color:#fff!important;background-color:RGBA(25,135,84,var(--bs-bg-opacity,1))!important}.text-bg-info{color:#000!important;background-color:RGBA(13,202,240,var(--bs-bg-opacity,1))!important}.text-bg-warning{color:#000!important;background-color:RGBA(255,193,7,var(--bs-bg-opacity,1))!important}.text-bg-danger{color:#fff!important;background-color:RGBA(220,53,69,var(--bs-bg-opacity,1))!important}.text-bg-light{color:#000!important;background-color:RGBA(248,249,250,var(--bs-bg-opacity,1))!important}.text-bg-dark{color:#fff!important;background-color:RGBA(33,37,41,var(--bs-bg-opacity,1))!important}.link-primary{color:#0d6efd!important}.link-primary:focus,.link-primary:hover{color:#0a58ca!important}.link-secondary{color:#6c757d!important}.link-secondary:focus,.link-secondary:hover{color:#565e64!important}.link-success{color:#198754!important}.link-success:focus,.link-success:hover{color:#146c43!important}.link-info{color:#0dcaf0!important}.link-info:focus,.link-info:hover{color:#3dd5f3!important}.link-warning{color:#ffc107!important}.link-warning:focus,.link-warning:hover{color:#ffcd39!important}.link-danger{color:#dc3545!important}.link-danger:focus,.link-danger:hover{color:#b02a37!important}.link-light{color:#f8f9fa!important}.link-light:focus,.link-light:hover{color:#f9fafb!important}.link-dark{color:#212529!important}.link-dark:focus,.link-dark:hover{color:#1a1e21!important}.ratio{position:relative;width:100%}.ratio::before{display:block;padding-top:var(--bs-aspect-ratio);content:""}.ratio>*{position:absolute;top:0;left:0;width:100%;height:100%}.ratio-1x1{--bs-aspect-ratio:100%}.ratio-4x3{--bs-aspect-ratio:75%}.ratio-16x9{--bs-aspect-ratio:56.25%}.ratio-21x9{--bs-aspect-ratio:42.8571428571%}.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}.sticky-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}@media (min-width:576px){.sticky-sm-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-sm-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}@media (min-width:768px){.sticky-md-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-md-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}@media (min-width:992px){.sticky-lg-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-lg-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}@media (min-width:1200px){.sticky-xl-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-xl-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}@media (min-width:1400px){.sticky-xxl-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-xxl-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}.hstack{display:flex;flex-direction:row;align-items:center;align-self:stretch}.vstack{display:flex;flex:1 1 auto;flex-direction:column;align-self:stretch}.visually-hidden,.visually-hidden-focusable:not(:focus):not(:focus-within){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}.vr{display:inline-block;align-self:stretch;width:1px;min-height:1em;background-color:currentcolor;opacity:.25}.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}.opacity-0{opacity:0!important}.opacity-25{opacity:.25!important}.opacity-50{opacity:.5!important}.opacity-75{opacity:.75!important}.opacity-100{opacity:1!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 .5rem 1rem rgba(0,0,0,.15)!important}.shadow-sm{box-shadow:0 .125rem .25rem rgba(0,0,0,.075)!important}.shadow-lg{box-shadow:0 1rem 3rem rgba(0,0,0,.175)!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:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-0{border:0!important}.border-top{border-top:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-top-0{border-top:0!important}.border-end{border-right:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-end-0{border-right:0!important}.border-bottom{border-bottom:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-bottom-0{border-bottom:0!important}.border-start{border-left:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-start-0{border-left:0!important}.border-primary{--bs-border-opacity:1;border-color:rgba(var(--bs-primary-rgb),var(--bs-border-opacity))!important}.border-secondary{--bs-border-opacity:1;border-color:rgba(var(--bs-secondary-rgb),var(--bs-border-opacity))!important}.border-success{--bs-border-opacity:1;border-color:rgba(var(--bs-success-rgb),var(--bs-border-opacity))!important}.border-info{--bs-border-opacity:1;border-color:rgba(var(--bs-info-rgb),var(--bs-border-opacity))!important}.border-warning{--bs-border-opacity:1;border-color:rgba(var(--bs-warning-rgb),var(--bs-border-opacity))!important}.border-danger{--bs-border-opacity:1;border-color:rgba(var(--bs-danger-rgb),var(--bs-border-opacity))!important}.border-light{--bs-border-opacity:1;border-color:rgba(var(--bs-light-rgb),var(--bs-border-opacity))!important}.border-dark{--bs-border-opacity:1;border-color:rgba(var(--bs-dark-rgb),var(--bs-border-opacity))!important}.border-white{--bs-border-opacity:1;border-color:rgba(var(--bs-white-rgb),var(--bs-border-opacity))!important}.border-1{--bs-border-width:1px}.border-2{--bs-border-width:2px}.border-3{--bs-border-width:3px}.border-4{--bs-border-width:4px}.border-5{--bs-border-width:5px}.border-opacity-10{--bs-border-opacity:0.1}.border-opacity-25{--bs-border-opacity:0.25}.border-opacity-50{--bs-border-opacity:0.5}.border-opacity-75{--bs-border-opacity:0.75}.border-opacity-100{--bs-border-opacity:1}.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}.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:.25rem!important}.m-2{margin:.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:.25rem!important;margin-left:.25rem!important}.mx-2{margin-right:.5rem!important;margin-left:.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:.25rem!important;margin-bottom:.25rem!important}.my-2{margin-top:.5rem!important;margin-bottom:.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:.25rem!important}.mt-2{margin-top:.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:.25rem!important}.me-2{margin-right:.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:.25rem!important}.mb-2{margin-bottom:.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:.25rem!important}.ms-2{margin-left:.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}.p-0{padding:0!important}.p-1{padding:.25rem!important}.p-2{padding:.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:.25rem!important;padding-left:.25rem!important}.px-2{padding-right:.5rem!important;padding-left:.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:.25rem!important;padding-bottom:.25rem!important}.py-2{padding-top:.5rem!important;padding-bottom:.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:.25rem!important}.pt-2{padding-top:.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:.25rem!important}.pe-2{padding-right:.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:.25rem!important}.pb-2{padding-bottom:.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:.25rem!important}.ps-2{padding-left:.5rem!important}.ps-3{padding-left:1rem!important}.ps-4{padding-left:1.5rem!important}.ps-5{padding-left:3rem!important}.gap-0{gap:0!important}.gap-1{gap:.25rem!important}.gap-2{gap:.5rem!important}.gap-3{gap:1rem!important}.gap-4{gap:1.5rem!important}.gap-5{gap:3rem!important}.font-monospace{font-family:var(--bs-font-monospace)!important}.fs-1{font-size:calc(1.375rem + 1.5vw)!important}.fs-2{font-size:calc(1.325rem + .9vw)!important}.fs-3{font-size:calc(1.3rem + .6vw)!important}.fs-4{font-size:calc(1.275rem + .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-semibold{font-weight:600!important}.fw-bolder{font-weight:bolder!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}.text-start{text-align:left!important}.text-end{text-align:right!important}.text-center{text-align:center!important}.text-decoration-none{text-decoration:none!important}.text-decoration-underline{text-decoration:underline!important}.text-decoration-line-through{text-decoration:line-through!important}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.text-wrap{white-space:normal!important}.text-nowrap{white-space:nowrap!important}.text-break{word-wrap:break-word!important;word-break:break-word!important}.text-primary{--bs-text-opacity:1;color:rgba(var(--bs-primary-rgb),var(--bs-text-opacity))!important}.text-secondary{--bs-text-opacity:1;color:rgba(var(--bs-secondary-rgb),var(--bs-text-opacity))!important}.text-success{--bs-text-opacity:1;color:rgba(var(--bs-success-rgb),var(--bs-text-opacity))!important}.text-info{--bs-text-opacity:1;color:rgba(var(--bs-info-rgb),var(--bs-text-opacity))!important}.text-warning{--bs-text-opacity:1;color:rgba(var(--bs-warning-rgb),var(--bs-text-opacity))!important}.text-danger{--bs-text-opacity:1;color:rgba(var(--bs-danger-rgb),var(--bs-text-opacity))!important}.text-light{--bs-text-opacity:1;color:rgba(var(--bs-light-rgb),var(--bs-text-opacity))!important}.text-dark{--bs-text-opacity:1;color:rgba(var(--bs-dark-rgb),var(--bs-text-opacity))!important}.text-black{--bs-text-opacity:1;color:rgba(var(--bs-black-rgb),var(--bs-text-opacity))!important}.text-white{--bs-text-opacity:1;color:rgba(var(--bs-white-rgb),var(--bs-text-opacity))!important}.text-body{--bs-text-opacity:1;color:rgba(var(--bs-body-color-rgb),var(--bs-text-opacity))!important}.text-muted{--bs-text-opacity:1;color:#6c757d!important}.text-black-50{--bs-text-opacity:1;color:rgba(0,0,0,.5)!important}.text-white-50{--bs-text-opacity:1;color:rgba(255,255,255,.5)!important}.text-reset{--bs-text-opacity:1;color:inherit!important}.text-opacity-25{--bs-text-opacity:0.25}.text-opacity-50{--bs-text-opacity:0.5}.text-opacity-75{--bs-text-opacity:0.75}.text-opacity-100{--bs-text-opacity:1}.bg-primary{--bs-bg-opacity:1;background-color:rgba(var(--bs-primary-rgb),var(--bs-bg-opacity))!important}.bg-secondary{--bs-bg-opacity:1;background-color:rgba(var(--bs-secondary-rgb),var(--bs-bg-opacity))!important}.bg-success{--bs-bg-opacity:1;background-color:rgba(var(--bs-success-rgb),var(--bs-bg-opacity))!important}.bg-info{--bs-bg-opacity:1;background-color:rgba(var(--bs-info-rgb),var(--bs-bg-opacity))!important}.bg-warning{--bs-bg-opacity:1;background-color:rgba(var(--bs-warning-rgb),var(--bs-bg-opacity))!important}.bg-danger{--bs-bg-opacity:1;background-color:rgba(var(--bs-danger-rgb),var(--bs-bg-opacity))!important}.bg-light{--bs-bg-opacity:1;background-color:rgba(var(--bs-light-rgb),var(--bs-bg-opacity))!important}.bg-dark{--bs-bg-opacity:1;background-color:rgba(var(--bs-dark-rgb),var(--bs-bg-opacity))!important}.bg-black{--bs-bg-opacity:1;background-color:rgba(var(--bs-black-rgb),var(--bs-bg-opacity))!important}.bg-white{--bs-bg-opacity:1;background-color:rgba(var(--bs-white-rgb),var(--bs-bg-opacity))!important}.bg-body{--bs-bg-opacity:1;background-color:rgba(var(--bs-body-bg-rgb),var(--bs-bg-opacity))!important}.bg-transparent{--bs-bg-opacity:1;background-color:transparent!important}.bg-opacity-10{--bs-bg-opacity:0.1}.bg-opacity-25{--bs-bg-opacity:0.25}.bg-opacity-50{--bs-bg-opacity:0.5}.bg-opacity-75{--bs-bg-opacity:0.75}.bg-opacity-100{--bs-bg-opacity:1}.bg-gradient{background-image:var(--bs-gradient)!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;user-select:auto!important}.user-select-none{-webkit-user-select:none!important;-moz-user-select:none!important;user-select:none!important}.pe-none{pointer-events:none!important}.pe-auto{pointer-events:auto!important}.rounded{border-radius:var(--bs-border-radius)!important}.rounded-0{border-radius:0!important}.rounded-1{border-radius:var(--bs-border-radius-sm)!important}.rounded-2{border-radius:var(--bs-border-radius)!important}.rounded-3{border-radius:var(--bs-border-radius-lg)!important}.rounded-4{border-radius:var(--bs-border-radius-xl)!important}.rounded-5{border-radius:var(--bs-border-radius-2xl)!important}.rounded-circle{border-radius:50%!important}.rounded-pill{border-radius:var(--bs-border-radius-pill)!important}.rounded-top{border-top-left-radius:var(--bs-border-radius)!important;border-top-right-radius:var(--bs-border-radius)!important}.rounded-end{border-top-right-radius:var(--bs-border-radius)!important;border-bottom-right-radius:var(--bs-border-radius)!important}.rounded-bottom{border-bottom-right-radius:var(--bs-border-radius)!important;border-bottom-left-radius:var(--bs-border-radius)!important}.rounded-start{border-bottom-left-radius:var(--bs-border-radius)!important;border-top-left-radius:var(--bs-border-radius)!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}.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:.25rem!important}.m-sm-2{margin:.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:.25rem!important;margin-left:.25rem!important}.mx-sm-2{margin-right:.5rem!important;margin-left:.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:.25rem!important;margin-bottom:.25rem!important}.my-sm-2{margin-top:.5rem!important;margin-bottom:.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:.25rem!important}.mt-sm-2{margin-top:.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:.25rem!important}.me-sm-2{margin-right:.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:.25rem!important}.mb-sm-2{margin-bottom:.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:.25rem!important}.ms-sm-2{margin-left:.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}.p-sm-0{padding:0!important}.p-sm-1{padding:.25rem!important}.p-sm-2{padding:.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:.25rem!important;padding-left:.25rem!important}.px-sm-2{padding-right:.5rem!important;padding-left:.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:.25rem!important;padding-bottom:.25rem!important}.py-sm-2{padding-top:.5rem!important;padding-bottom:.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:.25rem!important}.pt-sm-2{padding-top:.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:.25rem!important}.pe-sm-2{padding-right:.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:.25rem!important}.pb-sm-2{padding-bottom:.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:.25rem!important}.ps-sm-2{padding-left:.5rem!important}.ps-sm-3{padding-left:1rem!important}.ps-sm-4{padding-left:1.5rem!important}.ps-sm-5{padding-left:3rem!important}.gap-sm-0{gap:0!important}.gap-sm-1{gap:.25rem!important}.gap-sm-2{gap:.5rem!important}.gap-sm-3{gap:1rem!important}.gap-sm-4{gap:1.5rem!important}.gap-sm-5{gap: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}.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:.25rem!important}.m-md-2{margin:.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:.25rem!important;margin-left:.25rem!important}.mx-md-2{margin-right:.5rem!important;margin-left:.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:.25rem!important;margin-bottom:.25rem!important}.my-md-2{margin-top:.5rem!important;margin-bottom:.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:.25rem!important}.mt-md-2{margin-top:.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:.25rem!important}.me-md-2{margin-right:.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:.25rem!important}.mb-md-2{margin-bottom:.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:.25rem!important}.ms-md-2{margin-left:.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}.p-md-0{padding:0!important}.p-md-1{padding:.25rem!important}.p-md-2{padding:.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:.25rem!important;padding-left:.25rem!important}.px-md-2{padding-right:.5rem!important;padding-left:.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:.25rem!important;padding-bottom:.25rem!important}.py-md-2{padding-top:.5rem!important;padding-bottom:.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:.25rem!important}.pt-md-2{padding-top:.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:.25rem!important}.pe-md-2{padding-right:.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:.25rem!important}.pb-md-2{padding-bottom:.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:.25rem!important}.ps-md-2{padding-left:.5rem!important}.ps-md-3{padding-left:1rem!important}.ps-md-4{padding-left:1.5rem!important}.ps-md-5{padding-left:3rem!important}.gap-md-0{gap:0!important}.gap-md-1{gap:.25rem!important}.gap-md-2{gap:.5rem!important}.gap-md-3{gap:1rem!important}.gap-md-4{gap:1.5rem!important}.gap-md-5{gap: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}.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:.25rem!important}.m-lg-2{margin:.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:.25rem!important;margin-left:.25rem!important}.mx-lg-2{margin-right:.5rem!important;margin-left:.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:.25rem!important;margin-bottom:.25rem!important}.my-lg-2{margin-top:.5rem!important;margin-bottom:.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:.25rem!important}.mt-lg-2{margin-top:.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:.25rem!important}.me-lg-2{margin-right:.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:.25rem!important}.mb-lg-2{margin-bottom:.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:.25rem!important}.ms-lg-2{margin-left:.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}.p-lg-0{padding:0!important}.p-lg-1{padding:.25rem!important}.p-lg-2{padding:.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:.25rem!important;padding-left:.25rem!important}.px-lg-2{padding-right:.5rem!important;padding-left:.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:.25rem!important;padding-bottom:.25rem!important}.py-lg-2{padding-top:.5rem!important;padding-bottom:.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:.25rem!important}.pt-lg-2{padding-top:.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:.25rem!important}.pe-lg-2{padding-right:.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:.25rem!important}.pb-lg-2{padding-bottom:.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:.25rem!important}.ps-lg-2{padding-left:.5rem!important}.ps-lg-3{padding-left:1rem!important}.ps-lg-4{padding-left:1.5rem!important}.ps-lg-5{padding-left:3rem!important}.gap-lg-0{gap:0!important}.gap-lg-1{gap:.25rem!important}.gap-lg-2{gap:.5rem!important}.gap-lg-3{gap:1rem!important}.gap-lg-4{gap:1.5rem!important}.gap-lg-5{gap: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}.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:.25rem!important}.m-xl-2{margin:.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:.25rem!important;margin-left:.25rem!important}.mx-xl-2{margin-right:.5rem!important;margin-left:.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:.25rem!important;margin-bottom:.25rem!important}.my-xl-2{margin-top:.5rem!important;margin-bottom:.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:.25rem!important}.mt-xl-2{margin-top:.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:.25rem!important}.me-xl-2{margin-right:.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:.25rem!important}.mb-xl-2{margin-bottom:.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:.25rem!important}.ms-xl-2{margin-left:.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}.p-xl-0{padding:0!important}.p-xl-1{padding:.25rem!important}.p-xl-2{padding:.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:.25rem!important;padding-left:.25rem!important}.px-xl-2{padding-right:.5rem!important;padding-left:.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:.25rem!important;padding-bottom:.25rem!important}.py-xl-2{padding-top:.5rem!important;padding-bottom:.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:.25rem!important}.pt-xl-2{padding-top:.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:.25rem!important}.pe-xl-2{padding-right:.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:.25rem!important}.pb-xl-2{padding-bottom:.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:.25rem!important}.ps-xl-2{padding-left:.5rem!important}.ps-xl-3{padding-left:1rem!important}.ps-xl-4{padding-left:1.5rem!important}.ps-xl-5{padding-left:3rem!important}.gap-xl-0{gap:0!important}.gap-xl-1{gap:.25rem!important}.gap-xl-2{gap:.5rem!important}.gap-xl-3{gap:1rem!important}.gap-xl-4{gap:1.5rem!important}.gap-xl-5{gap: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}.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:.25rem!important}.m-xxl-2{margin:.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:.25rem!important;margin-left:.25rem!important}.mx-xxl-2{margin-right:.5rem!important;margin-left:.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:.25rem!important;margin-bottom:.25rem!important}.my-xxl-2{margin-top:.5rem!important;margin-bottom:.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:.25rem!important}.mt-xxl-2{margin-top:.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:.25rem!important}.me-xxl-2{margin-right:.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:.25rem!important}.mb-xxl-2{margin-bottom:.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:.25rem!important}.ms-xxl-2{margin-left:.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}.p-xxl-0{padding:0!important}.p-xxl-1{padding:.25rem!important}.p-xxl-2{padding:.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:.25rem!important;padding-left:.25rem!important}.px-xxl-2{padding-right:.5rem!important;padding-left:.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:.25rem!important;padding-bottom:.25rem!important}.py-xxl-2{padding-top:.5rem!important;padding-bottom:.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:.25rem!important}.pt-xxl-2{padding-top:.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:.25rem!important}.pe-xxl-2{padding-right:.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:.25rem!important}.pb-xxl-2{padding-bottom:.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:.25rem!important}.ps-xxl-2{padding-left:.5rem!important}.ps-xxl-3{padding-left:1rem!important}.ps-xxl-4{padding-left:1.5rem!important}.ps-xxl-5{padding-left:3rem!important}.gap-xxl-0{gap:0!important}.gap-xxl-1{gap:.25rem!important}.gap-xxl-2{gap:.5rem!important}.gap-xxl-3{gap:1rem!important}.gap-xxl-4{gap:1.5rem!important}.gap-xxl-5{gap: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}}@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}} +/*# sourceMappingURL=bootstrap.min.css.map */ \ No newline at end of file diff --git a/resources/cd_doorlock/html/fonts/vcr.woff2 b/resources/cd_doorlock/html/fonts/vcr.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..929406ae26dcbbb7423cbfd27653ec4ff76f03a5 GIT binary patch literal 17992 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 PUK=VAk~|As& + + + + + gabz-doorlock - v1.0.5 + + + + + + + + +
+
+ + + + + diff --git a/resources/cd_doorlock/server/read_files.js b/resources/cd_doorlock/server/read_files.js new file mode 100644 index 000000000..39a447353 --- /dev/null +++ b/resources/cd_doorlock/server/read_files.js @@ -0,0 +1,40 @@ +// using the superior language +//^^^ lies - lua > js :D +const fs = require('fs'); +let resourceName = GetCurrentResourceName(); + +fs.readdir(GetResourcePath(resourceName)+'/sounds/', {withFileTypes: true}, (err, files) => { + if(err) throw err; + + let fileNames = []; + + files.forEach(file => { + + if(!file.name.startsWith("_")) + fileNames.push(file.name); + }); + emit("cd_doorlock:GetSoundFiles", fileNames); + + return; +}); + +fs.readdir(GetResourcePath(resourceName)+'/JSON files/gabz_locations/', {withFileTypes: false}, (err, files) => { + if(err) throw err; + + + let fileNames = []; + + files.forEach(file => { + let data = JSON.parse(fs.readFileSync(GetResourcePath(resourceName)+'/JSON files/gabz_locations/'+file, {encoding: 'utf8', flag:"r"})); + + fileNames.push({ + name: data.name, + data: data.data, + imported: data.imported + }); + }); + + emit("cd_doorlock:GetImportData", fileNames); + + return; +}); \ No newline at end of file diff --git a/resources/cd_doorlock/server/server.lua b/resources/cd_doorlock/server/server.lua new file mode 100644 index 0000000000000000000000000000000000000000..11972fb272fa0daa986769aef1193983c215c35d GIT binary patch literal 10200 zcmV;}CnwlOSV2$$000000Jg~4+G}OTGZdAFX2pRJ&N8BE#O_q?nE-+O0OEG(BM``D z2SXCY)v?D^<>~0y|2vR(?uAB=h7%q38h~Fv0xx&lsl=v&DQa4Z!HTCkWZh3l9(!VFm^gg6MhFRBGnB6V-60UJAc+KCd4oha~r@v=LUTF9&egA zK(SHDY(BUt;kUJ*SqSEMha;4xAT3HcZ!LDLhI_VH*1G9eKH3voOwp_7Ic>M8RBp|l zvIi85Y2%P|U9U>ZduH^39!_W4NVgr6S`G^ike;ld@?+H7I^vQUlN;IPXn@VH7Kki{ z7uZU$zAfQn_&D`=AQke!7@hs(U>U^;j;f+=`;Y0VSm}Bym*~ibM!ZBSS&SiWjS_tLd) zSh!sp6C++3s66kVmq&a>ROG_DJ7*Bg1{Yv1~8&={C@-`HJE7se|wOOzU$Nj1WN<6=H%@Hk9W zucb*ItdjHg^92)tr8j6TA&W8e1N7xnA9 zy3=vCRd@bmU7Ae-uVV}$KIi7CKvSZOV=r*AU=R3Y`lx&l3W-Z~4JSE6ci5{0%UMO4 z)`X7@Nw;CUZK?5u=KT3gU_Ku>Tj5jRgnpXJg~NnZNxQju?G^_HC{K+3wkCfqalQr9 zyE_)?m(bPbRc{Q8z$NG zwT6|2?Y;Ct7tZXCiYemUi=F%$5da0-9=9 zWs&vdLi-KjLweNqq}{ocx|y4zixB+TO=caH|I+_Asn_qcSp> z1@)$b%-gezkzX_Kil*l+`4-}{@ZnCdZfE>AHa1OE%LT`3Ijk^fHiQaK#`T}x3e|r0 zRNW%v1^7GBtRJ))$aJwRnGWSm@?43R7;5x8W73;HBfCVbvxEh{ylyC@hHzsQr?ebQ zwUFABd#~Q0{w**LZ0NnkRf~(h1Wc8oXcZx@Mbcm_7TjDF%39_GVkk8TN~O7bI#im4 zsy+sf>RQF|;P?i~Fs^%XUU3Z=zmmIRto9v@9d&z@6)J|yg&Ej$v^#+7_8#M!%276vAy3U@%FVFy zv+h4N$7GesRpw@KJN%}2-t?YwVZ11##l=y1Tg#o{vdDDq`F8H@u$^tIHS=?<(6jgL znDh$6V1C@uQYu&g*dl~`M7*rzHQ-j4HJ+4yC~m%|S$AXX5}2(W^uw^B2PR^ycQ(y=>PnK6m@3*z^nhKy zG%+Mq2ITzaC|%^CejuareiTj$XS@^R)L2>>T#p)H9~{69l6-c~wB#!+J3Z;XJ7>z@ zFm-iY*H)CAuqVrHD6!Zj`6!~4>camKomPJD8L`id8rm>2N(cq1I}(vgDAH10fow^I3JJ>s{vL_Al~>*$mdtI+;|_W zleVPnSfNt2Z;XT*tt}JHrR9u(II7bfehl9lfNWS-7y0nF@ZIWniDE~HV}U)<^djX- zYI=45=%fONlA;?a(<*E=&eJb1m&^2MiJmBj5a!Lfgg!DdpUu(Ao=@gb z!QXEhQ46WD&IlOD^f2=PC#-@3R;BuJ>c?9=7N0al`%L;y?eGTbNF4H7D$2)?fIhv! zNat>n23(=$dKXz~<6BG|eA>jE0}RNGOfXxHaFar0swp>#?ykjq9I8pW%f1^wt>s*J zqx7YqgS?J{qCSxyfueRR_hs8on{d1U!6U;;La&WLSA~8;KgxP3T(f^6%WsaQ3(qwO zddul}{YfDaJw1Fx$remZpLFGunosRbxPBYGQRELgVoYIjwtE>^#9Jn?jbs>BCKT`A z;7C@U#l~!App9h8oiVEc@xX;&_Y8F`X;jb#IB$i<7bl4N4-T9P7%x4bz#u3I*x4g} zipIY;85U2eX>O0|ehGtcbI+K0n@$B zBa%&-66S35$9Ypr5J>pkP+Lqr^=wN9xdzud!x=0KN7?J7UC6+y+8uGi4CF=nT!NOQ zb_wYzG`h#@jumc%^(x~bcRg=SEgtH6tgB zZ?jy;{r_Znj)GTLxK!#qZKQ!6@Jd(T=yv^|{i_s2sB!}PFS|rx$NFagq#*=tFkRA3 z$Q`fez}*{4eb5narG$QV>eTkT;FTgXN%>1lC>ab_&2a!E)_HEIOnH>)7xwc1%U|h$ z97sxeI(Vkj6YYu6f4XoS@x)}m5QIC`gY_M%tSY>6<>%6g`W2Umn@F`Rk_$dRrPCpO zsTkVSA>;>lc$=%n0)3oD0kDFUvLd@EFLXxcp%P6c>qQu25aVi`7~%a>CGi7_<7U(-GtM-d7+7g(|qs zmw()JYy#4g`Ljq~~|eBBu5qb-P{# z1n@yp*H@iliGh%szhu z0Aww}hm^tC`<+$gcHCti$Gc$X)to-Q3tm7lp7G{ZZ~I)c9Bo}vS6vv8tI8r|Ow!Ru z;T@Ch&RG|@7bc%}Q5VDefCf_D6?iHF4r_!=8$bMzBcaq?Se}Pd{^BBSOZrnKfD=wc;e{cyrX{>S)!3#J{LIm6XOx&-WYqIXOE zYRiCH!ibb*ueQ-E(tkx_>>(`;92<*+Vhq;B*Ejraj&T{NyF^tRn|kPg2PtB*6CyCu z+4^NC0JovO3{ZvMcVtp#yCSJd;JElkF9P$*JkSWG^BC3Eks;8+8#Xg5aY?!%O*^!^ zBbq^UG+xph93=G(^c!zjoo0qCu(!;cE?Gm`mpJyi3r1o|R|#7qt2V=(eNz=$jxX}n z(gHkau9TSedSX`OWj3e)1^6vNN1@l(453$Ad1j9!vfHP!st!rr_WlrqOf-Cdzg6`6!HT!EAAaCsThWhK^W$@2hX zKmKUzr3KS7MJqt`6ravZ2_p^;vi6RnD35Rf|i%ozD5g;m_pm-uW%l`AkkE~$p3rgjv} zU(+w+q066$VmNL4WRj1Z65fo&%mpvGkR;aBKgi}sdCDd|4C2oXRl~j9#W;Q<>;@!F zVH^onLJF+wDC)*hETD98p9h>4hZ5T1^x9ESnvH8u@z18=4@V(2>JhfrHT8sEY@2w9 zdIns`$sM{;vtfn8U~1>&_z|+io2wMDe!(Kf`+4qk)Mf}nZ^`d?$@)e?<-$JPR#$!5#3@R}?u=fjmY^hI`aG=w-bR{lpWCSiTM)XuzXu$3)+YpgumC&G4bnC@+dLE6 zY??C@GL=ztv>7iwiTyhZr6Uv<98a;fW6uco6Qest@Q`6WGb0i_F;Q5FPG=%si(}XV z_;WAfF1s{{@i#^6E5&cZ$YgzRv;CI5?ql0v@jWGa5>BVx`@8UUmC7Q-Y9%A)vqXR}kODbe$`V;wW}8&`^!8MlMM0 z=w1WKAm9sP2oeMm+j+SvAZ$337gC*Vac6WHddd%pSH!T+Nk|X*6eC|Y$ z8sIC`KA9Xc=dJz5F7}drRpn{aZKr7;CWWs`VISasTCG%G>c>z$i#|8uYI_;eVM^iBI^*sr^Kuik66pi8W~ZOvK- zh?maixWarjKAi5kq#E2zmgypq20D15VL|jXW1vQwvbB`nMd?LzhmFVi1LtROvC=rG zD`wGjj6npmUN7mO#-U19ukXiC$nA%Og9x$`r_vX??bwlfm@4fTKbW^=w7&EjW(AwlBZIFoDEFtO$NNN)-8 z0tT0DLq_^i8SMcmsw(yy;O`pkOG40i$mF&a{%`ZVt6zRK7cq1`6w5W>5y|F%ck+1+ zO7*!k?`Mdef9*7>W?A`iGN+n5h9{>!<30_u%kHzmJTt}r+Tz4FIV`CI37iPP@yDm_ ztvwIN?)BV%!jRy`(Ne-h1o5M5-%!5!=mf%0XeAt<3&zeAPr}ID*w1+I=%mQv79?;v z(~rP#YT+&3&A5xMYo*iw%*BKG+132Dqe^0&$P(#!HwLT>cxk~=pSop@ty^8mom5Jc zodrf*6+ggnI5IsnRZ0wg@!_n! z_t8iaNMK%eM~#OXJPwqcrCOLlEhd5rs0ha%iv3U+%uKI0y6NMUoECI%4)=x)YZnnX%0OWWvYV8;=KtEpH!lDRtK>xe1#)v9$4r{DVW-h96|R1+%X z+e?y}#Rer+Jik))%0x006GqK`N0}fs?hRky4^Zg+j2%|7$3>NvfnHe%H@ykXmtW?z zz^c(7pdH_Kzy**q@nb_i4CsFRC|7;z@lS9W96N|FLw>jv~RAHkdkpPT;jmn zVJ_Zi1Nj&WRb{^Yhx0kRGJ^So5gn1WIqLyrDAiTTj^?Cl5s{5|nrRrV(j_;^?|uB} z7Q4p^trVlN!C?%j76=ECY8~4PKS+@26A_kTS1&}sS_Mck{-!V7K1%p~?7#ag)UC|= zq_I<|6(MS>E;u!UxUUhbL~lF}TFiht+m8NhXiLYVViw!dUK54E8RD@w1~`N8?k14B zRvXz!bc3)dn#}`s_>-0=8mP!CaAcznK-~x$BqL0#sGGD$hF$Oqt@za}{`6VKG;E?z z^Z5A8OJoXwo$SVRcwJ5Ofj$*?VAE!9owl)c#y{{(@q*QA(R1^RiZyPc8FWjC= z4Z`k_W56sQ;Q1e7()E1Fj(}Zhiag!Q3zzLH1F@HKyYL+>m<#MISw&C@CdPpM%;}c^ zUW}xxb|-O|1pN%WNMVBq2SW&mM!5}tuA2-65g6&-YuLLI*9Qsx7Fr@EsV6EmGo=8D zA=N@d%Yh0*em$S2+OwDXik%{y z+XQvFQ-=Nf6H7b-ol-InQ+=qRi#$I7{WIJC`$oWFx5!^G4$O{H%`}~q7vhMxE_Ktx+a64dn48Rfl8vKla^ZtWxISf+J9Jk-XF$Ha6K;!@Td5Aq}Ew8U)|HG*Jl_kD%~VZ79}W{GF*Yd zmg;?!GfzX1&}%E?Gti){T~Ddd=0QvgSV0WsD=j~ZHU9;{4{8`0^N0(O}g;HvOAv` zpx~YDO<6Jr&Q=FYif$VkD*ea{n2J}{Mw)(+p5LetB1o!58%u-!`pSTYFR}<(r1LoIyYL9%gedR;ns*YL3 z`U7>-saug?eIYv4-c^3cN$tog0mLU>6>_oU)n(6yS!#u_Qm@7j>#-7ZIEhIAFPh#j z+9kO*o5n6a>c{*&P>CTYC6LXNd>2(IAzTHYgLvb?hJBP~xg%T+sWW*_4m0TcQA;Vk z0xr@ooM<{UK~lcl zpAKR-&{tbE=Eqze0k=J|36q5uxw~usXlA?CYD*QiA^rA!-?<>Do_oRUoD}&+-$MX= zFXl8Yf)iJ1QU=buF`I*bRPS>SoOy&o7ENO6cDDmICPjefg$LQIrOwdW!{9$cTokia zz^n9E0yPaFSOxl%j}jmp>1+SV#A&sHiWtwhra*Gi=k4gIBH<{|0j zxuY})BjIB|)u^+wLwlRlU_b=MT7?6ZZvVNjHh1(|L1f0JkfWuhOB-z|#BIvB-GEG` zz~I>mU zI6VPE<}@^4h_EiXR?vyaLkI%=tJ}i!fhpB*D=pAgnnDbe_Cx`fMxrD)0m-FoduOz1U zp6QnFoREbJxC#fZNl|;nAt2K#@T8$TKKI8C^y4{qoGBQiiuY9x!%055OH(5Iz4_<) zc%S1P6xB3gWQ5OIYvuZS5erlT>9+gyu^H7ZdvCYXpWtK{#G7JtAxQdV&7~cgHQMO0 z^+M_O=d08GH-AKfIc^d)E4FD^G+S3q{TsCi1b@UZ+cp_j5*#Ygs}}r1p$h$H6jjRU zhb$m)l|CfIWy`B)_qiHhwOo$cf& zffSEdl113%Zg-je<(P?rP%|=Bi?TJ$lGt=un$sY=(Qgx33HM}e2=%mPls8M#4RX+p zS#f@12uh+HiiaW_`^@+F)$E%ThuNUcWv4+Zh=FltA5LzWZt*U;_2dYt*+Yo5t7ljF zE~0=tJLpKPhUw9YQf*H7Hw~5KLb^KY5INBuI&(#S}xpq6oFbp$T?^Yk6@#Rgf)wgHqy{EZ& z?UDhr7W4(VsNMcQinw25rOwZy6Sfgg&RwmE+ycH9GJMJWgd%qJPTv!m<# ze{kcS;zQwR^1kgzbGXF!1zwlWZ)!=Gbo9}Hyv_l%{O#iGb4>J53)WWY2{x#Pq(*JW z0t3Jd(VE~c{Q>SacG}eoD)U=eube~;Kmai4fx?_5f-zbZm=vb@ zPo9JW92Lu`NaFJrvHAc5QX-LdVoW>Hy7B`z0OSc&@*y$hUN^_K(1ji8HlX*qFG5Qh z5a03HduDn#Xh(gxu5Nx*f2{=kOXEu&{jL`sLf6WoT$54LQ|0ka(W@)^dACc&5hdFD zRLF)Z@|BrUJoM1^R)p5xkAU_ur4)`Td5(&F_kN6x@GkIHeeyVfco6oriXeTv*+#J- zsV3iZbS8D%a+s$!rA9cHMsZ_)xXP;K!YZB(Cgg{7v^-x49oLuBUU+9hdBx@0$_qP2 ztvuW|+0L>EBpp;7P`S~RcM8s+zWHqtC{*6*^F`fY6u%B12QI(3UGQB)@3wchL-#$4 z(MkhA#B)P2VdaA7NF$#m0`vQl=L%_c7S?xNYflZDHRInhpi-ZZ9ast6`V<^A#YqtQ zDATUY&NWI(mzCyjQI<}~vVdD2R3H&PL?T8LOQnED*Hw#|LAc9;!L{ZWG#k3jmz*ss zHD4lU1KRk(D{JY(o?hW|%JAG{PD-cR@P746ppz5R1tmu-=qN&Qyjfn6F8%UxnD?rK z10n2j3+-xfxG%G2X-HiVd+({}w;(<~68ttdBo&#Lyy>nYbwTwpP3?M>H{&vy5|ijt?w{emoqQ7#Av630SU)vR?$^$EC{+T!$VP z_8rSA3a&?{d-J(8tyw`Yq%}ag4T-fVL_{Lo>CW=y?-8>WLOo>2aUdqDTOdV*IOc)sYU`39`c`5d!%o>H6PY#-!NPcs zC3g_6-mjJZ4%gWV@`VJ?*CBIou3PrRFrI-gt^FXc8I^nUudFL+S#d?y`229*dR^G9 zOR3AX+k81pYG`Sdt5b>K`TCd;JppO+OIZNR*vL_L5;|W^tnlM7mU*04qDk@p$@#TP z%TZ1K?3kNW{^ttzw?m!_Y+T)^pFj;KYLhy$GE(CXB9&4As~TrP`|@e%v52BiF~LCv zF7hXRLhZEns3btasf*oU&(apXPMR1$$w%4aBkCA>px0X}?cquJx+ME#GXpu*&=k+! z@^^jGBYwE07Noqj4R6Ad2w^y5W~^V*4gaQCcE(rsK{dG$%@3Ziv7SL|J>_oe(!yiM z9lIQAm>9+7Ud!~U>G05fCQrHj8p7Zs{_yTla9{`5%B%`CS*@O*&WVpIKE;&DS>NU* zR!F>!`@L7zo%PoTFKmkR!rjWuz=9G*{F=bc9Dlx5w|zjy;;0KV@6-1ulT7|zzuniu z;GN4sRWbp7Y~_H%0r)B}&@I7bmJ4uG-X+NrunlOjwXKs5f_<;U?YKh7gA#_cO)DN= z?Dfoq5p6z7LE)rl*hh^e!V7kM*X{F%1~uKB1Mj0-=AX=^+j}U4MeE6!T@QnhL23Vz zVZAEStOk_*Zd@PXjBmQ#NIL=>Bs=xYYtuU;b^12i%`l(TJju@=jVxGhQT%Vk;V5ro z7K8!y92)$!098JNNzAxW?>h1tn~B#$nfdn6%iB}r+Gr_ILg`GrY17PJYtLbgki2Kb*$;y6np#{)|+*4 z%;lv+DRCccxBF-EtjhD~tp2v>LfDgm=@DVNrCwVs>Ud@J2MXx!6ony&Wco3SciZeimyx$i%GAsBqIsgzE$+6zz?KrZSCeMUpc{sVi!wisU7_^u5 zY@oeT)}z7G#Dw)T4B88NQw%1qppe2sIdrpbM{~oSD%CMl0S2o)JYwG#w$w%8IN_)W zxMbhnx#(Me!rN$uQ7QpUspI*Y_JHOq$1P(U(_$NSPZf(K!PTz5qtJ(KT*7@7!({La zZPJ%$f|9B4%E=nt1D(CQU$v5P;Z~@%!LbItNcOipYu11_(E9o|69C1be|=|X#$STK!Nos_Eu@_wH`EPGfF|>Fntm#O+XR_GSY8CYnd1=Dls+jT2nTMz#tTqrF5KDR>ODHRQAU~IrOUEM#1@3T?gw|kc0D&}BL z5F&+$wHGz(#Lms1X4jJDb&6wT#37YCmK{B4n9^K<3W3;Fiy5A Sw`V#NACsn$dZSiv|0OC?P{juT literal 0 HcmV?d00001 diff --git a/resources/cd_doorlock/server/version_check.lua b/resources/cd_doorlock/server/version_check.lua new file mode 100644 index 000000000..a69f8e340 --- /dev/null +++ b/resources/cd_doorlock/server/version_check.lua @@ -0,0 +1,61 @@ +CreateThread(function() + Wait(5000) + local resource_name = GetCurrentResourceName() + local current_version = GetResourceMetadata(resource_name, 'version', 0) + local docs_link = 'https://docs.codesign.pro/paid-scripts/door-lock#changelog' + local download_link = 'https://keymaster.fivem.net/asset-grants' + PerformHttpRequest('https://raw.githubusercontent.com/RampBST/Codesign_Versions_V2/master/'..resource_name..'.txt',function(error, result, headers) + if not result then print('^1Version check disabled because github is having issues.^0') return end + local result = json.decode(result:sub(1, -2)) + local function CompareVersions(new, current) + for cd = 1, #new do + local new_number = tonumber(new[cd]) + local current_number = tonumber(current[cd]) + if new_number > current_number then + return true + elseif new_number < current_number then + return false + end + end + return false + end + + local self = {} + self.current_table = {string.match(current_version, '(%d+)%.(%d+)%.(%d+)')} + self.new_table = {string.match(result.version, '(%d+)%.(%d+)%.(%d+)')} + + if CompareVersions(self.new_table, self.current_table) then + local current_version, new_version = '', '' + for c, d in ipairs(self.current_table) do + if d == self.new_table[c] then + current_version = current_version..'^5'..d..'.^0' + new_version = new_version..'^5'..self.new_table[c]..'.^0' + else + current_version = current_version..'^1'..d..'^5.^0' + new_version = new_version..'^2'..self.new_table[c]..'^5.^0' + end + end + current_version = current_version:sub(1, -4) + new_version = new_version:sub(1, -4) + + local release_date = math.floor(os.difftime(os.time(), os.time{day = result.release_date.day, month = result.release_date.month, year = result.release_date.year}) / 86400) + if release_date == 0 then + release_date = 'Today' + elseif release_date == 1 then + release_date = 'Yesterday' + elseif release_date >= 2 then + release_date = release_date..' days ago' + end + + local symbols = '^2' + for cd = 1, #docs_link+12 do + symbols = symbols..'=' + end + symbols = symbols..'^0' + print(symbols) + print(string.format('^2[%s] - New Update Available!^0\nCurrent Version: ^5%s^0.\nNew Version: ^5%s^0.\nReleased: ^5%s^0.\nNotes: ^5%s^0.\nDownload: ^3%s^0.\nChangelog: ^3%s^0.', + resource_name, current_version, new_version, release_date, result.notes, download_link, docs_link)) + print(symbols) + end + end,'GET') +end) \ No newline at end of file diff --git a/resources/cd_doorlock/sounds/_key_press.ogg b/resources/cd_doorlock/sounds/_key_press.ogg new file mode 100644 index 0000000000000000000000000000000000000000..6cb0a094ff120e40fc16435a7ee090dc953a3975 GIT binary patch literal 8530 zcmeHrXIN8BxAsn`QUjtCK|&Kk5vc;AhDb?54E3cGRFY^^fCGxDpv{K z_8wMt5^@lVKgM`aH*SI&5P;1}AEBCx8^K1h6OtrUQ!Nv)k%ggWQRqwpi(aYxWQOC@ z#yWT?j6+WcL6M4!#o4o4#gQbKI!3^QSwS$<3U&+gY9hrkTB)8hls*lof#^)aMWLwK z^!Xl?$ELKRVA%jp}_xQ0@bg4%Ic8T9w1BFI}C19xv^|VlEna2}2 z1Q!8^b5L3aU83sYq4dGSaR#L4Y)8U4YG?o*0Dwj1vPD5dA3TKuk^n%SBNRI?6w4={ zV1+q*q5`f53;^2QSTOM{Z>#y$M?}>}m30jQ#$^o*c0EleNfj<_eTHNei7rkpReQEEF<-G$rp#XtFnQ5X|;<=4zd$q-`UzCd54Q{ zK#BM3BF6dRI4BLugDNMNGS*^(n-(^XHrWU6 z#c*_X{(Ux;2>YG_s@eS4{C0GBno_m={CM0qc#?h>29fz^=F|Yd6Uu@^^Mw6$I3-n* zSZg)<#x%6g7>p;I-kPwP-F3EL^_t!D{J7`2Fd1fH{MhEd)jv}QXF`ObsQ*l)kj<)J zVksw42lbC>!a;}ax}0y^`PK0JZxci@iPGxN6$eHYHMf;@Su{uWRSZ2;W@}ZZk~Akh zG^acajO$E|>z$`2oXs9Pf7}cBr|QXdGDS21ETdx!&`|~G*af)+en>7)IRLPec9T$4 zzFh1AI)NYaxB!#&)j032Ly_&hvJ&Wt3X-HkDne=Vh@yE!-n@JsA2!d%B(KP!QYgJ< zwW;!7)r%(^JPrVc<2m2PbAlTj0}7B6bir7F0&aBOap0y0cl_UT)ZPXGHGN0%&kFzm zm-t`fMAZn=m?VAmI(^MLef2X2+6Mos$Y_pAYl6TE05A#wP*4|}m=+->1>X#@gIU7} z8*zGCmasg_ex-gTPZ-L+rMq8(vSQIlA~dDbNGhBqWCVmkgq%1`2ZZoL5{gLm1P*}s z#h!Q}3ao#c0NkD;G*09|Hd~0z@z~0#x9SHg`Dg3UrW!gOO;88y zA(l0PZBR$w03;j9Hte6k)ZSa;^Z~d%>1i`n4`xqJIgq-rDG9P0oVCb5#d@AJ2Xa6c zTrvp_L{XB321V0+~vob&SMPMj}qKD}^wK0eKe4A_|gX zNR$JIJs}m~K~7>8;Au{s3EqY%1XTn9prjoFz}r>h2TrL5)6g5A0t%o28)tV72!NtC ziwtH&dI*G4T2r$I1RCtoOkDEK5{k+LktYqDU|cBzt^^4vYhxCbcOaIY7AM$#Yr3SV zt8XywY1&gm!oOG2>4P-bv|%qPE9(UzoIF7k0(?5f03a!3pT@f3q|X|i>=`nE2q)($ zWIHqhhw~Q(YheX)NgU;bsQg=(#Q!HN3I9SH z^S|&!|2y;g|80c^7=Gvm3z z4mJ{DBn5yL_AMJ>P>Gr+6oy5xgMB0kg%AMahKeUt2PIT!-7gQmlaM4ZMyR;J(Nl#< z2@*@B_Y_dVDV#_`g6(~HBU|4iv0k~~R zj;IThl5jKvN#Jd{1qt9j1s{Vtw?H2!T$;p;q812Ez+w@}`dE@tFw5R2WmzVV1YH{@ z*)+G$5OA;m;biPoTuG155##Vaq0QDsZIVCksD-3E$2Owd*QpzZcGoqJ-LMX$1flYvkhY8@nAT)CE zVoo2x>ft_l9~KM?g`cI;K|&d{8a_u}R{TsUxXhBQ0KSNTDU1T}0RW^BF(Tq_Wyd^} z?}k-K{_6!YWzrz<4ERI_0H+|lylIUz(X=si59wnW9x;N;fg~LaVDusZDD)3qBekK> zKd;J29nv5GkY1HZqk-x7O%?enD)>Z1g?ah-_<8w6MFiXO`QXB0LOi@;A{P)MA}uLt zN$Gq%yaK|);5aWoLRd(EM^Lyr{YhH#lNqh!VR32dwa>5YfnV9TjVhMccXqUMQ#9OO z&i@64vd`t-g>{bR|& z`iOv`>^WTb&zTuGCZ8X2bKV}UL~%;M0y2@(^6^{H4QRW2yx+?Svx_u|(9L8O3$3tC z&GVz5-&D$HAFC-Bth|`ik|7+m^oA1-&CQ-`T9^mD|Gp~d!(^nUKZ{xl!i+u;GD1Vxs@~z_|dv<9*Ta~Oss|{6kuf|pq zBXeIX_ONw#_xa({^JBe@ZRi)YJiJ-$?73k`J3}BKySoxGZpP=?H2TW5MCn_4h@O_> z`(IL5CEEhH%zznFr-B42YGE9ZXf@aGmTzJnBC^ zrV;HrpdnxAK}ARABal<^?gxuX$Mgq#!k{kU$K0c%$racUFc;CcQHgt~W0qRBcQJ8lbpKZd zMW;q8wrV6Hjn)HTgzP8G^l75?Ol)FdTbDYbp0j>Ca+|Dz)@reL7}_d11^57?G zJXf6Pk5sc`rR?d7mlmdIbjdq4KEGS#467BNph74TORWulJ4{|Ky;`^`HP`$;<5Bk8 zW@z(pONdME6-HIRdu@xTPcX_pqpgK7)s0*FAAk5C??jKfo)KPapQgm`aD~RN%(|(3NbN7XXqH6FH ztG86dunq>gXBy}X&DxPM=9HaUZEw?7g4UpTK%8o`WkS!!HubFbTk&LxP^~=XMBV3u zz}PSnv%c;69bgD{MR$g9VSEyiO=G#+I_ip9rw*^*o*BGzO{#XQmEn{0KIOi=;-XO^ zuUSb@DvOtuw_u{kp39G^54lzgDdNC(zZTNVmeG8G)$x2qe2U5nM6S<4S5U{`si;xe z?^w-RhLX50a@WhPPWgMl(V*(3mgg1`HPZkc?%7UD@X7=~s&dKOA+%tt!mo&zZ_X<) zYi^*ldC;=Z)|O1-{62(}togFx#LWvGhwk!8&qb2!*5_{FD8BTwEoZDSRy4nKjO0dc z{P5Jp-Z7|2fE)(dVT{FScf+;x1+qTIK=$|x-|3?JT+p^xMDG}RG& zwej)lOZwNDO|Gw1ftlXZdI`qz*R|K79TuCs_jBTX6cV%p>}BL*f!khb8HK+4(XM<~ zzi(o=zx0y1DvH?px~v~3PC`*skIJY<`fIm(k3Z_9bluFC^b@0!eGDP*laLQuOi^AJ zfA^vI3|twq_LN?I#K2^>fBe13i`Ky0#RBIBUu-@(oyA&!Y!7}FwXWw#5Hn`;$L^+> ze|&ImZvSvEDDbs4+XD-Z3!l>zT<$2e9)SV@UZO}(m33-uJLfc7Y=xz@FZ$zAm=4OPT#@_R#zFe5 z%jllD>1_l$jqCIPbIpr{Z=Vz7X%4*VY{T^N}o+wYF zOjh+`%jm1ToAFogAybI`xA$8WA+8_sUKh)2gop0CHY$Q7%42gS4kGlp9Ddpst~pCS zXk--=|BFNLx!~l0{0uv%g1qtzGUsx%pmx@m4=)%f>#){*M&zg17GzYHdZNg6@PR4G zSAtAOSDJ-9txjdIK0o+U`LH=FJ31-6V(Hb2>;X`y%pMhvwBAW`-CzS!TD{X1z&J-_ZKu3d>{6y(vdIkScqW!=&Z;UvdSc08J6@-<*~!}iPgK%3%E|+ z;r%)cz!%H!`5`Lhu3d(-bK+QLF-qhjIR88@1$fwNas^7vn3Z}ZnYq#Jp!lJimL1*4V4kKb%6PN=${?cNP}a{cFi z^j@IH=eZ}vwlAH%&a!53XLnq^wWPYHqN2>)nf6<`x@;!a;7mYzD#JpvJ<~8J?N3MG zN$kDyvu8@cujVUPn0p7?(L{0nJU=|sXAJtrfCZ6a`J7>AFwJhyI^+IamtD}!(sPoH zI=s&DAL{qhSF{iNO8TDNmK=Vb9IAz@kx5u2-lem@$HTV8(P zKJq^{*B{ZfJ(w3hc*6Jy`ptqP^cwYqmuZN#!ZkI9+rt;_Xq9gaH|EOU6|Zo5_e*c# zrrFi^j2vo=bRj~K zJXL>eQ1r;e)_BuT4&nod>LT$3u|U`GM4L(ZEjR4}^6sYi zw^Bo%>vHYxfVDW?fV97oluO3$<7vrHc1*VqwYGRI`q7z$9`Tk#BAg}<1WK3 z;~`l2nb~|sMFY>Av{HpvGP)DxHh0lVA77TxtIR5z1QoRHoJ%bKE1=w1uy}z&d6p$r zx1PuufQ0h_Um%uEGUVPh9LcGB%#Odg|x{QF{+Kc+S+$YF>Aj?Hj_r)FHmKzy27{n;^Fc}#C(Y~ zM=b62cl+P8_-fCLl@FXQ|G5$oFjqa>`Xm2%esj`kn##8vhD7ylRRWo?JCFfC_%bL^O6|R zMrk)U72y2a%(GtfTU-9h0xflak&CL~Cu27dszC}?K_MUDZquFugmLSnEao2Sz$}CfmgYs0HA(5N2*2y-b|SV|#u+*!*&QUONp^0toCe zP51xMv>5e+g1M3KLwjc-dgYYdEC+GWxAJc2SF^ZvyhFFOB8KAJBQvLns%J9bBWP#*ag{p549#7XVJaNRTTS zoqUiu`62;+(f|&Jx35DpbF+G82mi|ImfmhCZ0Fspi5MNL^NcC3y|w!oc=@GyJ{)xv zS@b$rrgxp8l`+5ETadL{{`b+MKaW|Pf305G9QjqG8rLcTa!3 zI=SH+QjktYJ>fwu7w%F#!gPVD2|~U40KbngU(TdiP)NvTkIki^KoXpo*j^=2j@*Cu zJ|fwY!Xakehh^R)z&IyTomfVb)zh-^9izLLFX&S57k_yBDDmws3%hn?a|7_`mIZT} z!wyU9#6Ij`w@%gjd0!JE;NPnNjG3&kmYz7DRB?*EBMhP)`Zxp~gwT9cv5#id9lPOnFy2^?Y`BBA zOd-eNNWDoo)$0`=q)Wlm0w9e?JQL9RiR7z_Q()wcVXtS)aSzL+CIG;SLDcR6$>;)k9JhCE1RW1&^wy(i@Cs z*Rm$vA0rUW4nYcHtgY^>ZvYzl!u=jn*HLnKlolR9K}6)gx4R^N0g7-wv`ukDQ%b~J zl3+mtv9KJVB%fd%0?UpTP6*rhHwEp|G)m?^#gRfJ(WZ(VU}I?000-7HhUmi%wi zTC>x7v8Zl!8f^al$d4iYaCz~2@Q#I$LEFY+3D!Bh#~v;oG6KBDz1W$eIwmlRz@+om z)EVx}`|TFR<{90u;GY0T#BjP(9hDgvZCGdg=%OON`=|RT0J~X!gta}q#}N=qVa3E* zz?sD68AqFxE!M%G#}*T-qEQ^ItIxul?|F};IR^xV(38CQPe*d)eJ{>Sj1+jwSN%@B zQ;67=HFsZ_f80!eg+>f`v5*w-;+UG5OjHG2%_+ZT&_pmFqp!iAzaLS+s2tYumnm3C zK@yhg@s__3M8)3?_mjKl*y+B%Jw3lz^%%~Ar%zniKtc{-h`8>3%lLuUNNuRuN3RKd zzyv$G!Sb*ceEg^-J0GBWwn|ZHAuNnAQduKl>dp`(ZPI_xfAp5JQ9u z9y_I$c<_HCCz~(!vrOz6^+aytL>|8sy9jJ?TIOtVF7-bm$3C(!HL@@~k`Nxt7m?x+ zfi0=ab$(khU;lqTe?^X}2RC>?r!w>34FEwe z<7uvv?h!qG;Q@WA0exYFq1=Cu7%)2^snstDfK7%V7T`avhjXI!8InGje0yaSDMp!3 zF)bF#6r2*$o~rm(PdgV$%{eVv_#Pe>oiJ=gohGhm{7cR|n)ALK?4jaUZVGVi9fb5C zh(eu9o%_wAY_96EP|s9^>@oBgKgk$^dZy}J zBuC4TK~da(Z0d`$iGV?ii8C^#AcC!jQ8|+*QmJ1u2b)sh#|20%Z=|N4lqELvYZ_0# zC!(OZQ#d<8*bC`MXkl$5CA%aeavfev3U>jL2m6PV(=#OU zY8oKwD&}8%$@Li`a{reEXH(0xB`$Wr@-ry+hd7vE?eesmk(P|QZFK@wWOrSq-B6GWB$EzuKo#)tPbfF-iufu{6_=#GOG-@^I(^G zSr8{IA5k&0q5n7(S}a_wHPw<@ga52#9SZieaRC>_8l4!#{mc}M!{)Kqu2opA(j;(^b8OrIti+z zn~E%alGbOTcxp%i_J|4Dt*%}yuEI~?z`QrHiP!JG%$Hwd%b%YSoT%^ArLO_!J)1v> zx9TM@7dhkyLGk(kKp0Y!Kc85d6<~Lyiha001>14)obf=oyxK{Z8W14Rir(ZNqCOY_301c*A)gDV5p zj6ngV&L&fHwsCk8wLnk;XhOg_g+bv*$%z4q_JJjoM9rc~LUn=fmm`cQ%B9xDjz3X<~mP(lNm1Il!JEF452#0pS*Hi3(YARVHywh0w6FgV1|$ zA6+Q}!3-b=-BJBNqw*RR{{45PiQ>POkjVf4-Blt4f3*L99FcuIbcz<;$Ed=fZ^v@& zr27;Vj4PhxFb-rOx`D&MJn1z+gi&(>%WEqNl((KhhQtG3;Ul_al$b9q5$*T-&SGsw zvP7>Tx-JY!^MvT);3~9=t~oJ8v;c5>u|bny5P!hC%Lj~*Wvwtq4K;wC)jRNar|fM0 z2jJpuMowaF&zSThguy7L24)%USl()cEUy{_k?=bCgjFPf8zrnli9`W;MotxVCoH4; z>XJS`%i%1A&@c$i358fa0Vsfr4@6z9+58*g*SXY6ZR{QyC;IS3fgh^dsEob*k9P}qU=3L<{f6K9vb>o6kY121tEdwaU}lCYD^Cr-gm zrH*zr)mQCx*a&ix{i{XK*{Xjn+6gnUFo{+(6oWoIKG-v_x4s$2KHjuBkGr&GbY6b% zt00A494@nUal|!h?;M-_ZrcJ~OJ!xyPJhFz*_E2|ol}T`jgh$bHC4C2l~0U3Qi-W| zRBMsc(vu#4vA#GRs(L42ZQXF8jMwbOV?@*mnCObMvuD`pXeFwdI2xYVh9`;PIhVRO zPB6zyNzqUY9M5k@`;_i2J;3hn*z(P_^bUQ&#$C{bOG^}4K9%z;A!HUE4w3z0_)BL} ztPpO>SL?#LIEmOAs}xP=Y2IE}i%T;~czWOG8ZFd9?HVboeqnGuqN@2K(uzB%P2sLB zG(xufB4}*Y2e&tPzi@HYG-`RNe86|zU$$1ey+3ofc96_kplG#RhIO7G927VEK~TDF zLB}I0Br>BXaMKs%J??*I+eD7_XSPnj-Sdf`t1nBGnjb$kaBApwKPyhUam}!TtmjN) zPHCkNOJ&6DyC(c;m+;y8F>{YI2!5}u;2lifLcIT*Fmo{#o$;xOaL>I%8JF`!n6x>I2khGI?hiYe&TKuf2+E4i+G(sE#p7Jp-dw%tGftt@srdcd z5gwf^_7@dMT3Kd7tzEf{%nXbRIyAfGYH)OL52bzf`1^AN*hWhq!Yp#Rk;da_|HSpD zw|G~Kv&tnXyleV91Ul;aVxJ@Ay4Zyt`5fOHSTCoW3Mk5Hn;HpEjXOCgzkV}3iWyn` zF-#>`;#R<5R`Bhn*#0?h+{3trcU5#{C)i_UhJJS6w~`V_S+5XP_4mns7~>@Oa<+BM zak{p$r^>xKVORR|-u<|p_Mmi@pk3h)dxTqcJJYhOL0eZjPb%(w`Grk1lXjspNYvX& z-ZQ@*#MWN$NCTo6TI#`v8=dl<<$GRskfC(TiJ?#(i76gsHJFNJdb93hML@z$1o!Rx-&?cdpHgG_9%l}(5_ z=QMGClXO1fAQsSlXjHbo!D4G<<#QQXQ({!O4%*GHV07X-%=!r6Glh zC%R3mTo%t|Nvd4>Hr@g|Z|RzHrTInR_7ZMy9=E>H-WasDyZK|MVQpa?cYAN86MxPE zcPC(R1aEq(!hvSm%beh49z<)Vdr`s3~*h}Qgi%>IcrHjbFJg@A=VL>l%u1b%Ko1M*BP6-;&pj$3o$>Ei@4~g$95!t zMkjcJdBJl#nL_9FF>~qV9+4&vJ-PJHN0N4Tw~-mhclV$2x1+|??$idFhcBMn9TMKa z_R4$O#bmzTcoTp6eBY;$!iulo15)u?;{F@oP71D#PR_sNEqA7y$xE6?Ydvi} z|4TL&)jahWH<1}fnA&0?gr3M@U%lV6wlv1BqU^#E7Wfg6SrhH`nCNE{u4`EnSra4m zWp&WBH*U-oH?dV;N@iF&vF5W=u{B5DTMCA2K@F!jmkAc>$P0(O8^-2WKL7HSWur5% z#Dk$cTb$}N&b*TO$J8(1Niev#or|AsADCgx~r3o%4O2mm_fC-8qU7;!{{jgk5S3s!rc9gwV$KHE1Q)zEDKbvjqWL# z-1A+mjvBthzW5D=S}XtLE+E12U7)(8vmmh75POXQ8Z@|l`uh=TzRA%)gN&8`_=b#U z5pu1+MJ`H|oqcQT(*f{v#>av=@}E)7;w{n$X0!!s3h6gSG4g-CCo#QSIQg3+*e3i| zi3o&~5jsYc#{CaL>_Yn+|4R%hdrxkbOaFu6zwEr9@ON}+0ZSO_)uc?>6=wr4vh`L= z_{zpc)ck{;GI;_^&&HR}#DCvP16L6}FDm5c2ke?=zWB*))psxXkN2#@dp1i5#+CBL zPq*m~27XX!oM@Z$aXR=k)u}A#6Z>`%ZmDzUVZ%cdtLa;O`&3qc_SeZ16!V+HwH4=` zb#Y?~yRP>)wsD-}d&tcfLy(wjOx&Yf^c$Cw@)YWf#S8sU5@PcNbM8h+bVDW&6b@+N zT`lfxZ?rnQtxhjYw0*y{6R=QzoH`CCAM5L~yPKu6{;o4ChOH`aCjhyWK5%M}5LLye zY59C%tw!$i(#pjA+R=Gi+-9RjS3u{Z-L0&>g}uNAn_m{YySOZTcG|t0{U?umsPZi3 zBQhuAw}a|XN2+a&-{3PFV!cKL{NMY}9DMN_X~9DOylNbCFrqhb*m0sKbV;x5Q+3T1WG582T=!%Li+q=D)&AgU zU;S2>r^MDR!mw0RnAoNzx3WDe9sWV!_K&M7gF6-87kSVJDZg{tyN{4j(X{;V%g($T~ldo*U#I$auuIhuTe*xRbra2 zb*q}!!NdFZv3iZ41xQ?$eQE5<*cU3q`oeJN{9Og_Q05H z9NV$+8>sPFH~B&}lZ+M9FZ3m|uJ}{4AANbSJ#I_v7O~%JGR{4Uy{<9T%6>6Mu*LPE z`^lSDZ)z4@H8zet%;+0jv)$b+|N0b$E~Jj0%cPoD-$GEAOE}N{=nfZ26QuRLGE5dY z>QAFn_i44Z^wY?~#12#cVxT5&PiSLHuyu1esH_lC(2m=I3EA6S-20i;)5G61J>S61 zU^Lq)dS*7PBpg49Rr*!FvS_=C)#?9w7s=%Qa|U72u%X6|m1OS^ zEXMWZQA%#g2M!r8r6=Qcl5kmL6q8{(m8T~wJB=c4bgx{isP!~^Z<^utX=uRH-~s$W zvP}%q%!qj~)az4~jMwc5sg9p@HZ8wI>#RlU#@~8z9*~Y7F|E~-7>!YhZu}K8QtzL( zC@e%jdY_b=Xw68HR?^NbDQIE9a3lC-KjBDBMvgpUPYPT!DXLg;wpLRIL zKTv3Q_cFv|rFNaOZs5EAji{y7ny$SGZMOr^@U^Y$L-=oVvLdEbzOU;lR?iK)czyU$ zcf3?)A~E#Jnrrvr=9B~{ivy6e)>e!=`|Td7n1ph=%-sQt(Xnx}3D&IG!_BWAiw6B# z+1wp#Z`WbF>F6_ zQ)NdjRcAGB40e7$g}7duw))2ZP}(~ux zW<>c6AJl zro>hqYcx`)e!_OoQ9szSEZ6CGS38vo-u98%^H*`tK-{&q`t<3ps_xod(p|lGt6E!Y0&u`TNn+kd<4-mHjV^==;_2jSZtL~{ zfO}f{4~ffP;s%K7L(hMwhn^6y1@HFZ5YOuVzojVnze8by6iQ~ER{R1SJp3HoT-@*= zfExTk9W9(Jp{`;e(&7Or2qL*?9Bj@1_QM59%v{}V-Q30G9o?Lv7Vb{23J-(1+qyeI z#kjdR_&B%)A&7senWbfPAOH%8=2oKVgbjbv1^^rYFr{b4im{Ss&Wp`r@=1)9d#H7C zg(Sv?bdp$vb9eo#py9J51ONm8#)KM~^Gn`tP{^9(ainXekgbYf0S$7f`jQapw^K$7 z$NbuSd&fa$1{6$vL{LP4q#W%B0*!~lJeW3+1T2CmTz}9Oq`IQ96lT6f_+U8o!RY*h8A;$j`ND7U{2~9DIt>KKd?XaV%A8F{mc1gB4gWr{6b`U_ z5D5)xG#ztvj(onAUAb*ay-i8|%f4#1zG{p=Bme{?c}SVI$@%}UY^5I${oiLvn;$HI zBq+;n7m98ddRYznZdW$sKN9`{fI5}bVC!_{d+x^9?IsH5=k8B?VwDC?l(7G$ga@?) zfFw6Xrwc_7C=CtvQCEIlH?c`K$M|872#px(@;NV?MA()dLpnG?|F)5cJ_ zf5eK(~&OBE6MOrhwVng;3PJomSMW=;bD?{WTE@xO{cru^56bE899dYNkadHUEM ziqh|c!aJ4Uabz&KK`UnC2dy}w?pL~7xsaTFUfqNNYhJ8|0(0J9j{=oSWBEx6iS&5DsK&N^C$0uXW!@0Xt->FEW{#Ee5JjaEgJBp$wie9mrUil~6z!9J7 zG2aNjtU8~vCZW*?p~ol@R8zoclpi{(4ITG{PS-;XKl|y||Kl)!-DYvp<3Bv-!A0nV zB3I?25&p|_GMOS*1S22GN7L&^Gy23^ha?vzrEe8wqy0C}u?a0m3@r!_-3X3k3W>K3 zNiJ^8cIYkNY5L#he|yezS9&mmo+Il@{~w;y&P^c$dQ&x<^6}p}ij9B*b(banPXz!# z`zH*=KkJCP2K%@M|F{ObwwBoc+G9ZMIG^$;A1K&303Zc`wcPx%S6F!FpM*lBY*6Go zC^}yVZ>8qE2oL)7=$ZT;t!6(CLS5pp{0D-u6$3j;H?6RUGD|rr_WCXj+Vw(YaM?ov zvPc1}ZU}`kJcZ)JCh?HuM*(F5$N>JsJ_Dxq5k5(LF-d&czs>)%5@f`ujsWI=h5;Fk zXhBB!{^133Y3G%dWM;&=@2PZoE-u4@xS@Hk;;a~s&gCGMi z0KZrA-_MjIhX(+H(U$sPd?6PNg#a+9emXJ$L_>Y3{^!H|e~11zh7cGN00d?05jj)z z!9`l=OGdMyo9Y9~@ZMyS1ds<}xQC}B=VKs3X5zDC0B{h2C1--ZpM2_Tg7JB_**{#^ z6i1&%LBSv>gpLoa;-+u-ps~`phj84(h&cEGRt)Yga1TVu;Mhv$%M>shqVB00XG$IH*3-(nG774FHzfAplJ~if~V1H43?M!y!OG zR!s*4gSHTErof$tVSy)&mSv_SEk|pqp~1qOhbGO!5T_v}mzS%-qrjdQuYpJ#7p+i4 zldGY@j0nIe1;L*l%7?&G1mFma_AFw}`-L{>r4_h;rMltK=8=HmO%Z{`LyQv}%?-xM zDhfS`Anb9TB}kVVqah5!u)u)B9VE$()sWsybpzv%G>`-WNdA>}sDla@p4K0669Vl^ z59&&P42oMmI^QS#F&MYnMd$v7B#RFHBYmIre`M@x1Zv|!Pz-$!Iw~qIMgv=;prAfH z#Jk1CJKyRb9kJ`9ok}9~jO*ClrBjvwvzXX#aU?`LFZK|DUxf1N*W%9e`x; z1H7dE`v~4r`ZU5wBx15^JOBk1)VfqK_a=R8w1NVmbhr=`LtMN;Xqj{{H%eaan1KT~ z(U1^wR&K08D0BS^s2~sqPQ~B_I&EI8K^S{INs0q4s5N^KX2Gja2g1Oq*t01#g0QMi z68i{QrWC^mtbG|j^SYa2)wqF0X&qxuc=Q9Tv~GefR)eRDKohJbzvt>YC$T8y-Y|&4 z`*uO4$qo|RgSPO%qbv>`Eh-#0@kvn)eSUv0Rit2q`eU1a(Gg@h?Qy`)G|`u*U-eWXF&<_O}Pq zLnN$F^lwC7Y^=tgz9@e}Wbi2Z5UJvUwi~Mf_WJ zXpk=N9|Xt<9RD8#$Os(fZx68Y5Q4`&&^}cDltm9Uu=%(Ai^u~Rfxy3@2S#A?pYi@M ziq&BG+XRA2j59>q> zd=2~BfN{XT816JemPV1rd8D^aQL1)HB(b-TN300093#dxO`0m zbadHCtDA=x04gpiEi<=})Whor01yE#06@Nu%HIR$LmLI<&pQ!>`G7zDfrob@58I+j?fjGhgpfJ#=e@wa{=Lz?`Mv2q?B4p` z)kN3yzVNAqvV|`zL-*#UsXJKiqD5qko|3Y0JOiBhOR`+T5 zardG39`{!FhWC>9jCNEIUYc>3?VsXP?ifd#^^)A-04Bt$hhY zJ%C%mDtb-%D(;&pEHxyvI2eXP9MTw;H=s3QL>P0duR7fA*g9L%M_eFbh<<#hMQyM%TQQ*$Nyh(2Gx!pN;s(t)y%O?7kr4>>ho!#mQ8 zr^Tx6gue%?FNTIlJ*`Y>0XN>Mp)5Fl)k1^PQ`;5!u9hhvx#5fN}G`W?W4fuR6^1OVQkT$|Vy*Fue}0ytJH_DZEV(jQ^M%vrPVJmr8G7mGPHwSfyZ`ln{s>J zT%W=C{Z-kZj)V0)H@1CW=^#mVd7gG`wvHVyZ^=8gCKsW72=lX|^&)_8;PqMhZcl$2 z6^ZeWOw~p-l`>wwXpT6R1#-Q}jpVHBxpAskGv>^aqio|%9!59a2tI9(427mEZZTQT zzL;p5G~?fqKkhHuT_ zPi(h29;?E)G?(zV|C*(w=QODayE81@#z)EK8i6d1TUT49it=6E*$Pd>aT~eJ{h$%dXn*TgAOs zU4uiVqpBW^{F2ftaBKWCb^Ry1)6+&03@X&oR%^vQEgZ2QeBOHc{M_au{YH@G_%Xr1 z{O3<2pTTJPD0Upy>FZ0e%G=d~71kXWi@TICs7`T;xR_R2V_T0|kWu>9%5#nNq+bQC zgw~SHKxQBv=}*-c!$TL$D!)#5g@jB#Y8P1TCXOqg6`)RKd!L-z1 zQ+pdDfd+y2Ltku@CA}SR3>J$83_xFlGC~0F&*wmU z-FKG|be?)PZxn{sjb-4l&qyoYOCMTp9!@UWkREGccDliTArdrP>)0xBzS4m z5vWm`P<48mk&zI&Uf9e!p?DsvHm*8c&uWGyYdc#Q_uaA@In%MQd6X26M2HU?o?XBr zcnr{%98tFuK*dDW@_5$Mq22oQvcURGo7y*IHp}1FVIj?}@xZzf?)j~Vhl<3Wc=(%} zBJ7JP&xL|nu`)VB;R3A1Pr0E$mKp6~F$x|uni7D$txnG7!kJ=#kI%g0pPPh+lR5Tx z1r)*;Y;knA z?d$S;KBZMpeA$5v)x&=-JcaV{)mtmdRtf3`tdOHnr@a>$&r*_&B`L!Un6Z(!Sh^ zbnC{!a?VcUWJlLq|Mg$gSf$g-z6h<=(=v(SjLO2US5(ZWjq5)?J*v%0ENWax-M3}B zd%QF1k9Yi?Fr{v5&Prxzrhnt)ByHKH>V*PhOhv5U+vKQKW4FZljck8A`zgw{dM;i? z?8WIiiB`?F<+e{DY4B>vxVG8yKiaOo4w?4uwI@gDt4QK5tif3vc$9rz;i4kuT>6TB zfqWhE-R3OR>TUZSnLYstKgCl)C2eg*L;2n(C>m%?6u<&>uDq{-27qy|dYFVty`N=) zyoLu%eY2*Yx!31M1QsbsDQM7ww%de_x@2D3nl!TAzi?}7a)0@1_PnaX*PH*1$B$q7 zP7$y6vKLJn*M?$3#jN!nPb3nJ8zFnpIbLn?gm!->EV{PkR9HbA6WUVD%PXnL@7gEl z4h?f%^=H5TS_m$DfjKE!Q@U`HWxVe%L=jH7ttp-#&~E(@z)pWxurH(C9Y?3_PHD3u zgj&bDv$Ze2QoA_KjP_Z~w=45Bvh^1i6K5cuL>q7VUIvGZdDq54f&_PeZlk<0=Ek0u z%N5UHY7)nj@O+wy?wKUwmebY@iP2)=ehRA;HussuH`x5df$~GoJKuIKHy@;$z0uh} zpIq$29Nr=~RTyeCMQ;=0P4@}1FG$nRuuA-zLV7>VyUP7ILQ@eDCL~-IF9X1S#|^ii z0Vu(d!$|BJ_YgMu@bO_-afcl*fxlw+jW;&hS_Em*t;Z3YTL9z}}^0>`;-UP&Y!<}iAFk>AbFaFl@*4gVW>mGjpx2@Ig zyGo0cdv)=M#IbP7dIOa<#_8!_mH7>nd zoM(ylU}tzAEIIm3?tRwku}yz;NdV1encnnf(gJ!y-L42=x&b@oJfpU$udnJE`w4KR zh$8}|vXsOP$wX#yl6olK&lNw0<;UTF?s8ZBt%suYWC}%lvaY1~N+H4c$q)LsC#{6p zmMiA>e*R5%NK+@On(&e)_OtYo2(pa9@hvL3^eE1x1$1c;?+8OU7b|PDR{eo zU~tB<-zx8YOw?P3fhG(QzXArWP3B=+>~{KuCBak8AZO zI+QSke!~NT;v6MGM{42}`<_iNtQEMPPkL(21}5`p?y|rGjveU%u}MBWWew#GX&!<0 zN~5R=eG8|PXH^uQ+QLUZ5u*uqk6w1G_kCRSd2jT-TmaXds-+@SdZg9iz&Ttg<7jUD zOM)=tc@KvwJ;4-@Nc1GRRRfBC;a3!!&03wfd@7R<=&Y+MEX9}@g#g8H>Ge<=t-fbn zss0KZ5>lZ!?;4-l(KjHo|MHp6OU;AniCG!m>R*b`5cPp-4J}%dw@7#$mQLdy*6VAm z$!v0cFAD|wkMHGG&Qd%ks3)7RKYsH&bvVLRijKSG7$qC%>Fu30z?ZWM*;0jHOUqRX zfOgi#(I>YE!6VKQV8GMEcWNUTzMg&V}WaNmT*WPidXm zBxmpf;euC~-myGpdi5@Ql>Y_^&cW#`=F&lHQ;WD1XzRVwPZ8jN+Pz9@OPMyg6%rip z&0qDW@CL}L)R}hm2#ZSe7wT54Pd!k{H=9^=#!CtHS%_rcXA#P-mN&ncSFhBf5J6wp zuuG6RP445NHS&TE+OZ$Wu^5gVX|uWriPO-q~U^kKdF-GW+*f|?xjEJBu^IpFe z8^@3|;5WhH@IufjGYwoWfjVDkU6vNw`(jy5wH>`D@#==@cD4!Z`u3mRof)N0`Hgqe z$VI5vPU=PLWlz%Rc1Tc;F?iXff9^O#8a1jJ&affJa16Oa|CHm->z>k%(`Cn-qlWqx z*Ef8NcW`@Rz2?~tqRdvhw$qWZ_ge<&;9jWZc*0D%YJPU=qdKB^g}NURh2D1kA4k|} zf?shw_e`Mx3_{jgVd~<1ZwW6A35qekcTv!s|JcC>mhM(d5`0|DNq>8{2{yNKv{P`; zEVGlb*hH6GYKLl)e8SB}pu;x#EHXpgkLq%9{)tNjH_Z5Ro&0=-Wi~~)&o5|q>3xvX zx1cA4hi^6lX5@8r`bV&R@qHf|pjd=|p;Ip>J=>FQdh`?c(sT<1B*bymio`dE)UCG4C_8YC)6}xw9B{+ z?yRV1sJyf&%zc7_Q->LAf?;gt%O%Od_W=l(rL33b+-Q6bo&77aPvo1+@%$YXB*dRI zHQT1}KW4X<*kkCSQ!D8MZFg-~egb6yAKFQ+*@pVQrOYt8X7EnWAV@OwRo}D>ZGvB; zOD{qR(e)p}{}`qVjGj|wo#D-d#Z%W+^OY`yB@ecGi;kt@R5h`^zU#DZVpO8@gD+<4 zcXaBO@nJ!q?AsVJNpf032PRPYYX;RK7RIE^RXJ==`8gpX=azDN*gz&1r*2i`3^BCo zT=#mL8819iUE(HOfNzYCuNQ$Hm`L_OX?&hK=DZl$*CSNWT9Qt5YciR9KYQiOPNbNo zDU(2bv5xF+GI8uZc`%@J)irdx!EI2H?p6}gX=O&Oj_f7!EHZgLQOuVNs>g&8ssP_U zv#inAF^YjG?z3+yYBVXZ(?8 zZtQpe%Imf;GHxBOk1&5>Y^JEeB3V93JnjeNq!uZ(W9BN#pGgZ_-`#{^^a~qI8i1FK z7mrKw$aG7t8EGpF5ZW3P!Phz!PqnV}!E`8VOj+4pBGP%MGZ6DGbj8jsrglu6C%c}f z?wT=Y5b10f;b2N_PKFu$P26R!_51>Kg4GCEx4Jk$Kv!+-dKynqEuD1)O6N`9Tp0SWW}5 zB(BGN!er8I07=+2M079{xCuus^*sP?+&g*z}Ic$F5ZIqCG@~VDN7(lWe9sO!7aYiLZx-q5-#gM`UN1LfjX zSg)eb?0WJ21wpuDQZBp6D;M1abpz5-=+Zlpdtm1$6M_N#;pdGpZ&OLm#$qK>gLU2n zbIqEHS0kM4L$hbKb0^(F*Aj~bc;rd(F&qaRPG8E8!6Qadp_8`>hmrqYPg_F8E%D8q zOc0MTU@2}^9mmEk;kZJKh4{;M^9;8r!I0&UQ!+soI{+Jb$*I{BZ#{V|N`b|pOt{rr zlel^>B9_YgCs*v7zJ#(*<05ayQ)E)}`X?)f&UHSEE%gv%?uR z3V|pwBHEMFxT$>BL!IfTgZ8|%>(hLkh+WxYgTfX8i9F4jW$H;;3you#C=cEUs;{os z3|YEr@gJY={^D5Wcdf=F{nF+4rFGxH-K~q>8Dqfu8*lD~$jNs%echjl^E!_Ya4jHD zc|3+2yja+We{+5$;KEQ7dM~v+kE|D$_!N+kg~@Oz?)<(MvL$;tmc7~ZqiVbOSF|+q zj6%_#m8N3Pu!XSTR)q)d)Gf|p)#R{tz3U^~UcF=SMSmCMl6>hdG+VqitE8VOyxI=L zbR&(VFuS+1R9S4LP$q5Pp^KJ-;lMnO9BthcmOjiFux>QdmzJRw9g?0YVvW7EmbMpBf09yyaW=Bh4-6{Gc>y^*d% zn=K;PnpTmP*Z2l#eOri#RQ3oWe8%Hi+S|6^Tf{L~bvNcx_<4NMA~w?ZcJIXMz-Dg6 zqgW$K{a5wM9wH|`LEq~pBXKFgpPjMVtl<=>w|hL8iugdPqu)<{Hnp!JAGWhdq@M}7 zuEPtStRNinQdA=1i}as7rfY3Ap4PV%QUAPhtI;}!CC%8%6h<}AFUA@0DpKsC)8F!0 z#}ztKTg2fKz8Y)~FV_x2e+E%k|Kzf*!Y~l7{6qQeE#Q-tg24ulv2U!2>8g)MQj%KG zc3$|!s|EY0Z6^JP;fB{22J_H1s1S#EpTu^`&W;^lh`9#1NT#o>23?AuGJMLFiQGk=s-Ak^?%{=hw|iuCf8x-OIyGtgQT3bt{6u^i zoA?BAgoQAHvAPGQKM{SLYK<=QkcP=BU+$zYC?zRSLgSLOs^4PYB--B*zVuv5y(C z?-Z~I=WV#yrA3Sl`DS0VV0T@rt_JPc_1<32Eh~$QzbNS287N&0vM3F_*NLvue#>Kr z;tM#aoCa&ek1&u&59B^mM6D-kN8VHjkIl(o3AkM;%=_5@_-S#xIZ%+zx45#K+*QaI zGEw@ywREt$>~bmiI{l2Y^!L}cyrk|O6M?hz!BertcZV17-HS{1NvhI!cpqav9diQm zW5fmq439pPdZ1}}XQ;Aj@OeOhMQp&7TDvWL;`Xdz2es?qQ({rNWqSEJRPkZ!| zja?hp9W|zDy(v?@#`dK8j`oydfqkZzus<`vF3%d5yQI*l4pDyx|2;o}fh<}?h2H^*xY5O6#;Vq<0x>EVnk3F^kaziuR?crdI$t0pzWB?SV$}h8J zvh}_Of|Ost(RaN{*(X;1Wz|;?DV{|~v~HD4TUY-OnM6VH8@$2{%%466CG11g9DV2P z7DeYw)A-7F*W94hW2|haj3@^5sh2{JW}&3Y;cV^I-r8J?T4a$G2#Zf)ujl}##F>a3 z^pRg^vT}&l45k6*h_tSBkKmOU>D@d%2>hG)>@E@{yBaL`?PTTIO({? z*iaPOuX|WjMpffh*MR2~8TEY6le2SqF0wDHjz4h)<8q1j1Luo^YG?5Q57(5ArxX6E z1C?c|3M~F5SA$7Dhx;zH)`19HIvGlm|vQ$J^);6z+kIV2GUc1s4Dq2)helg$#N=F8F>rBWMtd@{% zIQWk4**zSVVLRKGtR;zW88>&rlJDA`(<&B~j-%uukQ{RO%x{(L)`e(901)_ftzvPg zxwA5)upK~xNh;9Zt>vX&>*q=sFSJ@8GyYIqct)F)6Y!Y{%jPq{H&4L?>o7F7aUck& z;;ev!A?lDqEg-YvT-uv-8GJsmGmuZd5&*1w!2e|{tHqSX8yA6k?qrXNASd>*F|u+w zG#*F@G%C8k{g>aQaNXyOp3PS?IXf35e#GUfR524{`afkA%Z^Varq5T{t?wJwE<)XM zyJok;fA)!NmdhBj=j{5FyxWr*l$8ykEs&dOm9!Sh$3jp^;U(G*`%c+;EixyDuKKt} zw{ftI=SX|T=zf%ZS=`-{JKFBI(Cf{Ffs*jTOIeW(PjRW|JG+TRFO?}SZ29ofiG@zo zLmS_J?&f~2m3^(%%X1uUbNEJK_>>J{>ueM|R)2rm^Nu$^8*SiW+dAn~Q?mT?5Jk~K<3-VFnzeEN$ zFg$Lqg;F`~+z^1yG|jZ(F>zhn)p-Jw)$`P3r@`U<-7)vet=WO!bz-|#Q#9>7I~F$M zxgAsk@(I+T4GeOG-`JTx*^}c0wm{yo&%m|QFITffOM#!U$ULDm;pYX065wlE?KH7JmBfObI6N$H6UL0tqBKr zWq`#_1F4bd#;(LTmZM%l$@NKf%U;@KcM-$9joZeWr>csH!?voUD|7biTL=Lb?lbk- zy~>8!O9~vC06)k?2rfbEE&@8T$Vfx+tl?c9@6XP%uz`z3#bP_5@5(nJ0-|WP<=9B*X2WDk zH?|!Vm;;fUClCXo&OoUF_+DA72#IfM1(W%Op#r`>vu<@Y8J~4R?JhkpW_pwSnw1hd zE84i}c&7N{`gQ9IR5klAd)_^fP(FJ0{9som_86Kb{3Xtsryq>C=PL zo~_o!@0VQH1Z_WC(@fB}H`a-xiaI3fzbkmMvoUt&7O>@Tsbc&jD%5|!89W1D$rS|e z%nnOA4j6groU4NDUMuZ{H$$=g+Od!#RtLr)~11rB+un^FqzYHc&H!=0{Q%t1o~Aj* z#fHMl!@B6jdKh91P$N{RGuau)0#sAl(~)E6@$@lr)zJL-Ll5-!C%=9{;%{cX)=N|L z6J{>xX*}mRF>%UCn1yyn9^CtH2q=ZZ$rkkvec6jU>bOrjTp^|4xmACu&97f8+w#>? z{nT-uf`v^&a)2L*f81VROSLJIHO&(zU8+u~=~7m<<5Jo0s-s-;n39;KmV)@hX-TfI z$qJ*5wVzO10AdsVHef!8U2c-1aY>;Dq5=dgA5c=s@+iv> zA0zR9ko$R4f^4eEC53xIwiFfcC>QmRzM;;VK&hFXTc3Zr-|oz`;_0r`UQa`O%Zi=RkdDhT8=5#kygrvvf@2HB0m&z(e^m)TM9* zm}z3PM~JpxHfwP52r~DE^m55g|90>)V!hN(xvfjS8~0LGsj@CI#Hd|jUhlsmoP61q zM947*=|rIrR0@*eP~Lfqb_d@c#tZM=Xh1 zZbnVse*v2-^NPfsy##yM91G!#8|=q8Z+z;;_&D|XbxUAdpNpQto_*1Ana`_OCX_X? zy24_i7jY%@Lg0J<&$_bIIJ%83O?7P5=yW}-+NXiR-{DWT)OsrocX>(SWLw)QCG%Pn z-lF`f0ne6p(o46ZG%G}mI7QEKnu!YXUsy&^gsL9YebIV?C|jezz}(@PR%De^=jal< z-~Y1cR@*2f*7w~)UnB;jY*BEmv3#;262c84qO2Fb1?f7&%L7+3`tz`<-43%Gpf6iC za3KnL?sQ$8zpgfSB(#}7JHPxHv${ba?ZmiZ&-USy^ebq+2y2w>=NDVM$4-7{F1Bpi zLcCXZ8E)m1J_j53il(>1jkIKx!u4O#W)eDbYQlXdkCSA+~NO z=X!rS&pC5@r%XOGSbBDUi zYRo?dnc89-eFFSLC14v1-QAoLy!v98pD>8^976O3=qL@JX87D-KvqYve%!q&h}NRxdp0nQ+<>;4pyf6_;G_3YMgphP4A? zvO}{vY>G5^iU`+3Tk0vgCKmx9o~WewaZ`Z?c7a87EA)(_gTXxhZV>>`ET5O(l91$_ zo_;abuFHSc9E;0{3aByw&eJ!=*XU8lffYt`Ms))N7d!dX#`KX*Uo7{{YnPqY#y>uX zdsSt7^4M`PdhgMWhqbqt#U)zJF4Xc--?~BCm$WkDf_U`Kv1*Q&QLqyV{&iM9Awy(+ z-X-WbfiXo3DQ94jJ40|i9}5rGT}_9w(sE|a&ev?-*!e^t0Qj| zPiwiT@#}b)QP5!Ou|NK{U-9#)UhirNuQ`c3w*5I{s{+3(iDti}I5*vK=0U{Y%@@H_ zf#pk8@IwdR@tmB&%c^Yh+s+VHm+P9w59NlQzVw&9;O>D-S{*M?jpSKdtJIBP22AE zzB9@xnMlJH;s+-=-E4my`3<~kgg^q&RyO3+edY&Xa`S$U_44&e<8Z(a(QdITNAP+n zNU_~LNe3)gJ0u8M@Y~Sf+q~eg2!BFFX9Ipm=dwe*wz2zc*u2oHRV1s1VKsa-97x1uoi?d7?xbQIqZ=-t&=IKuhA8rAHiz90|I zuk|gCpC2UCWlc>_UP|=%4*WWqZgE56i0t;eRlX%YtUJw^=62dn;LW~=6VG3Ao|q>P z(!Rz$aZD3a+1q$Iz9Hg1xO`u-Xgy2smoO4d_buvC>O{hjyeSa+^n%mU+t`w@-PB($ zz_}HU7*+pEPRlh+abGuZj>%7fQ^}8{8SHG}2=1&XCLak*NCI(BR%@v~ z6!H8*48A}DY~nG`Mm)o@BxGc?lNj=(-~h5A2;lJS-GMIozOIOc$Qu6Dc{nkv1tl*P z=c7pnyO%#NEIzi1EV}NPyCXgEoE2m(z!_)w}wb$Z$CW$r_H<&hJx)Jb0PzaOQ=Y#5bBw+Z3kH zmfN#TD1D|v6zhayt(Y-Xb=*fUKg|1?JB=~B7Tba*e{iWs&(DPS!CqLV)s!7Fia>)sqCUahgeo8}fdbn(3SSoCJ| zYX-M7qDM-6;nVwe z9RBmo=1|+zjdNh@qNU;W{9eUzU(!|yTlx&QQi&JGL5q*C(8TyygRY|Nvr%28ABtC( zO3k#`IV?R%XK0h%D{!tgta7DNWn8RZWj0s8CYolFj&YHeki2q6h- zfId;%FN;^3R6sw+%g0P%&pTEk9N@mKDl@J}hrEzGzIS98c8%fbR`j2UZ4(y{x_m`d z|8dh6`^bg*t>A3PjMmA38pdKtwHiaoD?#|yiBCZCclk{{`{l@*w*D^*msu1Ni8u0z zsl1W~$AgQEJEc8Zdnmd==F9!z?^nkusjjuzHX~&+hWF@Bx{Ce|P<6hqyle?4Q4*c*bSXY6o$7ov?g}kXFY8Mt{A&1Y z+lXL5QrR+rv57N}*yrWkHCF*tQ}%$hW{lM>aS1*9JEm{zJ?FyyfqD}4d00`tPf*+a zem!Y0!yr@J%} zodkdTR!_jM{kPFQnBFuy2mOua2R?(pbkL;Qr*(-xoW6x-&k); z4B4d6AHvqK4<)PR1qtQ2Oxcm!0U973N-?C{p=A~2AjHJj-ymunR&Eo`o}m8=6fbsi ztRXq&_tO00;;#>@y%i$Bf&X!^$u!bLNlf6;?D>?Uf4rh*3s>)fN@!{~O{1yN{Pk|K z+}jU&yrrc2C3SeA`38iT)$WOCas_l-(1-{t5@1&l<2zS4rlr--TQ)@;1SuTEsHbok z79z$L#Flza{Y!Tfgu?D5y4oY->~%z@Jer|&B&3YQC4DpNxJ{WEj;A>pd7PcH6{#w+ z6jQETann*~0D`NQ{bf|uHPg2tSin&B1J$bQc zmC=xj--L0=UiLc%Jc6-i%gMQcOEx<~k=+_i?w~2XsM{v;=bt`{6Q9ioBz;}F$VeTS zV!jt&wzzWgs>IxRX+dS39leIqrpbIK;dS=Q=akO$%MV7y zd=5!Vco^iTXY~i{7{%1pX?E&DAv01+@g$v5G1+Bs+FgA!$_3BJnV|jaU-W*6Bq6be zOLtaN2%%Hx#a;F89p$qTKIiW{nZ=S8+G*mw#n4ib`Dm^!T;0#Xo*-+|E17F)`RUwa z$f8p{6>vSS*QP7GT&mK)@Lj&yMx$ZGn1IRwfysSs9|tDS+u~nw#N1xiF~v83Pq0M+ z3Lf>reaavM!YMkX!oRhH5!y?~2DrYspb$z;qR&Qp3;kaq-SAuh00w!f4R9^k=a6n+ zV4+=?u@o7+XLr;5(xeHt@^A_J^PUXxFoiuzU2!oDD3w1cvL&&TM~n|R1c)$Sk5PyU z45X2dc94MYZChI&yE-3O%kFPsyi?;HYHlg>(C_41r|4~5<^nI-R~~KvqBmm;RJEp% e!AJ;r&3EpGi8>j;8iwASvzdUEf3bM@$NC@jvxWNr literal 0 HcmV?d00001 diff --git a/resources/cd_doorlock/sounds/door_metal.ogg b/resources/cd_doorlock/sounds/door_metal.ogg new file mode 100644 index 0000000000000000000000000000000000000000..8e3eebe1f11c6b4d21c0b6abbff3421216aaa9aa GIT binary patch literal 15918 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 literal 0 HcmV?d00001 diff --git a/resources/cd_doorlock/sounds/door_squeak.ogg b/resources/cd_doorlock/sounds/door_squeak.ogg new file mode 100644 index 0000000000000000000000000000000000000000..98ac7370cae1926ac499bd4cc1220215fc6d6dee GIT binary patch literal 25834 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 hy!|Q-J~;sH>7Rtmp5RDYwM0{}%wAREYop literal 0 HcmV?d00001 diff --git a/resources/cd_doorlock/sounds/door_wooden.ogg b/resources/cd_doorlock/sounds/door_wooden.ogg new file mode 100644 index 0000000000000000000000000000000000000000..b16067c7a143381bb7827f75a66ae9dc49a24505 GIT binary patch literal 27278 zcmeFYbyS>B(;)f`?iSqL-GU|rcXt@vEd&h^$dCX50t9yt?(P=cZE%<1nm`~x2s4cJS-TAhrNfBwK&gHP97dko~O7lh`F1G zy}O6Ff{VMWwWY^PH$@QQUvd^nDP0hN0wdv3rtX7GM(Y3o4gi?ZvtY&9D6r(m=P>&u z$ICzV`nbcAhcH}=29t2=ImC$7GbK{qD=O1tvgH<^X>7jV#u}fv_ ze<|Tn?EoObL*Dm_de-x4h zK1~5l9Hqx6thj8RL6$tq$S7IG;`i#BBux1p@BZwZ8UTWD{#fz9nm?xe*NXFE!&!%! zYe#uU*dLp+o^g?*svaCE3?7&jvkSniII?~>)4f7i-Z8&^&X6rXUQ>}J|F1{EluB(C z{Q`;PkCTKXyA87x!o1=?6?aZQflD#CIU6K-E;j~) z7d+SJ{nzIsO^HJOt6}}ya{!pr1pV>Jc#8<0f%NyPlBjU+sc_>WPd7zls(Cc#6OiN@%Sm2!;w+Lv^fYy{s1-tc@D|4I2J&n7?kbKJWP- zp7ZD;w8Bx_^05g2({r+!qqc;i=oDh<4PqI65^cj$i&HWWigVHai|5#d7bb@nhKBEj zMlpva+J~iO#OP%?*x4Gtm%0zPa@#8NAq^Fu5R&c$AnDnHrKCltd@MTY*%J759!JO67+ zG3)}=XnyQW90@SG>2RJckkbO75dC7nO za1a21fRF(Q@MKux-_P_}9uEM7Vyz5d`GtI}H3)!M8)PB_K&-V7<$u4-|99wrVF-dS z1Hgw|eL`3A5x6Kz1BqC6bTb1$1^zXu1U~4I81C`u$oLruk(v3e7yukZV8a!EWSU>& zt59OTeeU2Zb|t8Ej5RC?3ZvzRb#XKId<0PcTvFBdi1# zUEm&xbinfo))0Hxyp{@fcBFq(e@-Zy&B++url_lkAtTZ)QS@O{&Ss4;EU&!a@Y4R#^ z$x7E|YGYO){#5DFpKOCKdTqznQ04$Jl|<1I#o_vj@Rd3Mv?@o4giVd+gV zzU5<%6CcY1%ac_Vhmv71rhF?HU3#3R2n>b=OE^4WBzf_glKbiIu>2zfMgjsP{z^OC zNtGK<`;WK@fUb>4b!9Ta#H|op;FHM&%Uc~{^Zr6o#U}odzE9>qGIj&QwDBk?hLJ}d z6_=Et!A4M+pn@Os-I9`{?uJMC&wH9LKMMb-r3)r^PivB<$MDUL4ghMd0Ki&h?im!9 zTipckZ2fQ zE*Z*$lAkwY=)^-fA&i`p7jGEO(y#?n5DW&}ilH$&O@6%LM~(*KG$$IE)*N9lOFqSV z7!0-*M|Q<#7_7RF*fCOuInC%1>sT(pvg58)J!@!LR?ql3BK8qhRzF7@ugTkwuLbL+ z266Xa6I+(?>>0-4b^oN);(!r5!fb)gDzdoW5N0^2))A2$v+?fZh=7E+5Fo)o{DO%@ zhtT{pDiI~*k7Al(cSxA&^*>tJqg`p{5xc|8j5_G?CYFct2k`=yUcz)nV)-vbPEf4o zFl@#n0>+LZf9CHD=EqD}vH0JJ{P=jyKXXz3q{y(V=wqge2eaLHP1w9(7>~cXGfW_8 zFdlypim)pyz9i~jM0_laF8?0{j1g@8e-JQ6ux0+vfOQ^I@PtR&$IhR&_^}5Y{%!vv z@?nf%z`vkJMzG;O>-}LAugUs%2s?h^A5T9zR*qg(z6vooIecDai9bFIyP@GASJ%xM zmPWV@D=3sp$&&77=Pf88)70xLSyR6lR#41%hr)tX92~)#pB$GcIg+f2VZp}Z5y2xT zyrV5SKny#w-vIzTF7Fc*e2Kt73_wUiJ{k@{L&u=#k&%$#r1{*H?W!!qlpzQJFG5Fg z!b1C~d2&dZSqtDHeTX4%fWgTH`PL=~C%o}w9~fB@MH1(oKDh)4RY+(vglX+Oh%7x@ zOZ!j)#s>f>feqO4wFuDC=B8}#pZ^3LE`QBeNADbiK(XFl-wrpRMhyz*Rs@5cBL^bq)v z_K+tpg^iZLqtgND-ps#PJswk@@Z)j}!kpJ-Z;lsn5hv0|k2iu1%c?BgI zExm_?hwz7w4`DD^%0uYGr-z(}%oGcEYvu&eI%8?qq95xd(rE4)BB6sb&k95H#rXh{&v+m3m(H7 zoG%qQKXGmU{4RMmcI61z&E95h@_+E&%WTpdZ(6ywj4}{OxHwhw`W;u2^6UIQGhlvE z3+9OXOqJx2vUj;9Tb{ll6NrX+dCBFY=|jqP;^6CJac$3W5qK-soWXn5aqVjiPprf5 zH#c*?)%3=Uc80*-Q)6vXv*Khwly$D7w|z|MJ)im?MvHn2rs#Exrlg>PD-L%g_!f0A za0agJlNA_97+Ty80}^i~9FfMwE}%?F664(0J(FQ1Be)BT5;{Mik;q=f>!w#1?%6Uf zqy?vkk@Y(-k>?4W+lXFwk1LmCqg~2l!KqIT*F0Cyn+eW2{&B6RMvnJxnL4O=Mq`2- zWzvTQ=&&~4r4$1}IJZTvR1@F;@0BdzGv~~w2R3{vovt}SM@NCkk`_e`b`T&`^sxAn z@;dtEd$5$~p||c_P-FX;?aGHpb7&G9cH_&tSEiMP^Cq@e{dDsSU%qXxvQYW7lce6$!jYm#(u=r_Ue_U(qd1dKxPsG$NnRh@TqrI$(j$5wO*(Qh7 zn73f%2iDBW428X{tZpCGS)cqiec?s2>Xm_YcYYNFL8AH70RMRz$3eRiyN#LjyV6oM zH$G2!77H9rEXu=*^K{niRu>j@(JNI!X*~z*F^s;|)4BS2ZeNUE-!NTp@{ zvw_!qe9*qrv>O-YhBN5(dHejag~Y=KXXDF+T_{15XuHA`=xUU6(2!`R{2*&kJ5Fnu znE?t#bujKjd+x>gzGo&a4ZWk+1oNWzEbAoqiiIT=h%(5N-`aU#`aUlh8`UimexS>- z<#!RO+nZPQj>9bkV7d#9>cd!85^iq4o~-fnZS&8{XATd3XHI)Moo(ZT z!oO!eynK7niTr$ai)Er_Z^20>c5I*zY`8e`u<*R#JcCoS`_8(TnSjFmF-iLsSLs+IzVuOioqOBA_9CahtfetgXS=7LdP!b&Z3d^|ApMQZM1W|QwR zQmQa*Pg!BkkEd|M;gflrr!~uF)Pogq{haG+grc|xy5Iq+fWZc(cQTR(hVPp_WbuIb zgpPMLY{2={djyyAg)>wTF=`IbAe){<$qf)shaPE@aX*1|Pmj_cQ;4q4j%vNs0FiKn@i z;(ppxwf&lXwy6wIcXENrd$x>QyPX@w`f-I6iCN_0eftn2xv9)mQaXQ3r| z1$ACmu0roUW{*Qs#A)5JTC6$8cCoKl@A=hKGcr|+kXnOliM-^gf4fr=lrYjYv(~Z= z-eBt%oDCaXT{S**HjG>KI8l5`vDu6(}W zNYlHg&PCnU2T!BW+ugL`A%TDyP@3m^P6}3;3@&~mrS9rxY>2QWabT>()8y!7L|qSC zu_OP3vA8#Ncc&&ceQU-cvwcqz&=xA!v(V1rDkZK+#|B zfH@Tcpad8)kU_R=pSvjKTI7k_96$NB=<%Smqn4LS=c2iHHS@Wsd78fLGh-bFJs}Dv zU<|58NWL13B8|Lha*wh01y%|HcSaK6t^PZViWTvA+wi9st~w~s56hmBr#Ozi>x4s7 z*^t%6aQCPb#((Wz4R~vKGd$Jcy)zX#r!Oqkg9V~R~O zny){Z5-{RHlW?SGHbxT=aERS)H_Di=jpO^7YWllJ-2X72ozz}9+*>Ef5wUUfN|l)q zr?>~P_dc~g9HBXe`t9lbyRf*|P(3JeRYDNlBq^$@xP8osHItFg?^L*V>x~o16L~r- zt>|;lUg42tIVWbOFGU&j&PGnArP-zAsBHj*g5ed&1<*hy&U*TB3k4*Ngd^ zOVN^~^ug(7e(CRr49rIH?cDwx%Eu;@aQq_oIOKB>ENRC#x44r6F$y#ug~cqiva+RR z=t}4GdjWlUFQ#Uf5Vbr#9sKxNvxVCpLM2&{A~UgaUlrC9G~^Q`_KQwXJyaSsoN?Hk zWq(=-<+f41mJUjk0AX+{<<#l)^RbMQCdfdXD734nvKhybh(K5mUfQX1r=+J_hB~rS z9O%CFYw$9Z8u;FVN)|!J>E!anF4=S(3q3rTS(N1@))jZ! z(=$xG2l@LOD9OaVsp1K8hA)QbXRrH6n8#IJhK%S6IhM*zEnZSy<6Zo3N6)NmBeCc%)A`)z0 zbTe1cu zrZI_x(>G~rZVy=;#9l+Azh2)-UX;uI;OEcXr{uYkAbaa+EM_I zr!MewG2)RFo~NR$tGc-gh&ZTz*uozJMWUmbaHwy)b0eEsW0f4#%4(WY>YCMDW3sea9Moq8e#%{_+dV=v;p7BbucP6C> zLtE8RVZ~>Yk|cRguYr{EtVrouWAroMrqlGX%zEv2Oxj!y`LNGYuEg|7gQ^nqFn2FQ zd34OGw%|ka>xct)5u&(W`Efhq%=}!qv&TuqkoEOZmmDwgQB4w7OzGJf_g)HDg>*)I zGEi|Rk?)wPsC}rw$MeJ!*FV>3ai*t58HlcjXZTDdQO6PwtkJw^jsS}o8{Z5K7}YA3 zPakM)-Zw)}2A8AikaNY|(?fs#NaTk-pvPh+%w|fC4-(#IMhPKLw?qgy1a#NmEPzeo&Sh_l4aEr;ec!fv zAlg>waS}7|mw#3COt_8PCBFcbHMNW1sgo1jelRb8gcMMx zn}V6A+>7C8`#gV|N1ZcQwdvzUGZkCDn@buR!f#!s2CYi5Q76Ml;-gZIW=Y$`vX*Oi zZ=FiM>KZ$HqSb`8;oDu;j;5eE$~z^ozlJ zPm{57i1J)M&J^o&`Vt4Ok2YbJ7E328lhE9+Y918jb2^3}*dsS#t2g8je?{m1aLIf8awMEj4Iw5Lzjgo4 z3c;~WWVnLyIQ+8)=908}#$t0N>lX{+I@i-S&rX4ENv$h2@hY z`1pigfSnYT^7XWSDK?`B;<9eRUD<2Pwbf*dJp$D;H)zg#pYCy54)XI~op(u{lW9lR zP(#qD?-UZJnVG>+KI@=FwdW!g#D-4@IDsGf=*!@RwWKPmD2=uZeu=qxg-j#FP-U(n ztYj$8bcWIk&37EkAjQ%BP^Rky-{xD*hxG+@#eVLi4Sb3OD%Ce&Mko$wa|fQU=*O8f zdXbTtj!gR;ZQV!Ln7$Ceb<7gWYtnQZyuw$)l|h0!&E{${=vrAQDLn;_Ey~SPM`Uy6 z+^c(ed94U(f0w5)>N;*xyDtH5>+^WRj*38Z{ zX$-x18XR1@3@q%?aBDh4M2aYXHXDMVLv+?rWPNRXIHe~-4yu8U9k;}8cO$8CCoCn` z%U{;H+SY1}(R5blr!~KymNeByX;AL;mHJGTzHEt4*&J%c{T`4m94Ou1vcXV9OmggI zt*KaqalUmzC|BT#i`0)@CF6n;kC10ct23uj8RM<-v3Nfr?9il6lWKcl*e#1|1a~p< zGh@AO(cyqDe@~R(@@be}fGKTf_=LG`LxDb7=PJH-9Nhc;Z!E{YG4JhH@ijd#9P4M) zLtG5E(Z)<6V-{-gH0lV+8D+(A_oPjcQ^YYvv+xnUCxV9-DjaMxBby$^B_DS-epRae z7~l5OYI}eiwr=n6JR^R_H>&W!(P&a&eHATJ-QVBEDv^3O`)bTJs9OuW@rvzNo%Ki; zIl(D5u;JEeJbSfMohW(fmQ`L^G$%Ww-EJxzp#Z4YG1*vAm%W%3S@))k5_0GUUp$y# zaSHjqDj7f$I_bRm(9pKN$CcmeC}{DJ=-=k-KVaR^JAK;kvea??%PI8L1mlOqZ(-xD zhQ$+b(H1Q4RjFBn+%fg{^%pNi66jxmF-BH7&*Nk&4VFjlYMTaK2n4Vv1n$OjE0Un! z6iYSTnwf|>5;*;}I1SRVL)S3pv?p8-oIAN`o@~*O(?f0-|636}deP&1A-gvd1ySiZcco>iCh!4AJKz&}tC-bAK<31|% z0#b}=X`7YvG+~?!OJOLgle<;|oBr6{bFFYtjfX#OQo%oB!T8p0u-LbtC2+Cv0I6`5 z7$@k9nY2luS9Sw%82(v@jyVC1mzL2L)M9Og%+s$CR`ibgwaMDe#X~-oh-GC$<(s}} z?=Wg!o$z{Td`anh z1M__&_}~QQ(iMOz}#k*CG|^aI%m||8=VQt;SrY7F(o-!tzteL z6pw?#HwRXvo$wAl=IJm;JYS`9DSAzyq|d?dCd9Sx zS@}WBf&JoSD@g%{xOabWW$9p>&Hia0hPG~e$|)VcwGLBs*@+-$sNWm2wd?FXH7hc8 zwTze21lKAN4hHh5tGE#TXbyCsjk`N3gQqg777gecCTfI#RvA{{JyHZJA;V&qctcD} zcaB8V1^o7-7)gGGCqh>Grgh=a_j|D!{8=W73WhIqwEx+%MpnIsvt5s|O;QR1QEb? zV>sDvx*Ujw_I;sDr$2pT$);)%JVmO1U3kX-er&|Whh*RDU29ob-e>&WPV1)YMfA@~ ze&8B!zV>wGXB9|&2ZPLxG%1N!V$+gXjyhVyD&Bn3k@+>~NN%$TN17WB{UvRk=fMSsY3&-=&{F@Qks&2WRit0NK5%&HTS3u~Ll#2({dB;ZBP zGAY^npw3mxm!E4lm({f*(ek+al;I$ZLO&;K^}Sak%KbWDu2fWl*E(m}`M91S*{-uU z{NUYhE|2wW`2Gu$rbbfH+>zw)DxhTk_Q&=$cD&{(c6%ZE`VWPm?;Wyx%9ss8VyseT z!rPh08guZuf>MS!&`q-gmT__QXe*8j2sUnLOXC)d`Bz>!cdmq+V8Xa%h(xUKfD-gZ z5pP92!FA6Nm4IZ|Tm&8SJtczjN3`$i5EIJhp7nh2N>kD%CW_JBm&~U!Glvnfjy)2E z^|HD}V>l}PZo?V)##-7HHK_%wXO=zuP(3wkfyK+OKb^5G$86@tW(St7lzyIhmnY=2 zf4_cRlsS$hGC}a<=I6}pY_-5e!9p`X(bS2EO~boG8!&MI{#TWq(>5(x#pFEJDmX}C z7tq6M7m@A20-%hM@3hPq_R2|c1LP-U6NNEW8%{?E93wS|>ozC6Ii+Th?~90;M(uT! zBu_G&5namV&Uif4RnT44@&pHa=7q;Wb^~@nMPoB13EE1n7(h|5Wkk0EXtU$f9B)~J;q5mEgdSqzaMtW4&TG4xw2j|DU44MFj>Vsy@~WH3#%QZE%dnIspl); z{8d|c-k%Y?$n+rhjJk)_fI7R00%G%267_jaj~6uN%M}_h$O~bA(x=Jn^M$t?uIrt= zS^1!q$N)9qVTk~-Z^Kw<;F4E`ApAzl@WWo)2qOsI6j&O-vp|?g<7vueFgJ=ikdyn2 zJ6Dyeq>Kzg1)#ruk*~|bB4>}$_ja^q#4ax5^&(Q8e^rm!-rWpgd|HiNFT4I;#;5;w zcx-j~cU`?bZ(`xw(v}G(@ZFs6Y7u?Hmj$^Wp~I>>jH-;|GNFj|X2ENTbylH+lt}0+ z3-J40=1 zyW08Z%-!;7y$o}BVf{WE>@@~MVeCV!Ar&pTJyy%oTHJt_mdxJ5QsS0Aj&5+V=Q6*W%}xHZgV0GNqmThOrB1hj)e;r$l*c#{qqLVy_j84ed8isd#F+sSY&XM1x~^HAI8EdS|=LR*X9A$Q+2tgXwk z^39K;+$NYd#cdenJkTBVrs$Ho)xCKWE;!G1t$7OA-nFoskiNjuVv!UVdR4hP6P8vw zD1dx%m21z-bS$>v(L%kx%i51?vwsywufB7WTub3fCDyg3t;XlQsWikA$ z)zlW#1c`0}v;O4m@8!+_zjgHSV#)EBvG}u#@E?-$+-_MpZ7~eoPmRBApQPV<`&hoc zolp+Ez{-xx?0~=l=V+K4ar7Ag_HaFoW7+A~#i^Z_>!|9Oj4XNn?%B&Ww&-2Bgb;|j z?$ELG5Hpq#JWeya|Ck_SGVmOL1T0=piJ2G+x3ou$RLR`$JJo}iL(4dgq5%j#30ebw z@p5}1ofM{M`d&KHaK{7EZ3r^)?-c)AQqz`E&a41CZxL`O?U7~Sw*|j`*YUTX{o*_Y zVjS*;T$;T&NscplVo=9z33gnraiqhQiT%pL^X#+4r14g0Q!<-vNhoyIxR^Ynp5rUM zJnIZ%5OrU8NlNq}QY$3DLa{l-Wg zyuJx$y!4v2@@#HmW$OeNtv)gJ9#@&jP7gd8JHk#AE#QQQTJcHPL?lYdKq1qIKyOnCj~=(Bw$ z<8ADJbvY<>ihgZB=9PJYh4EWn_8@&&x`TTViOSUP438n3swz#LP!pG|miMj`|Pn{lADc*Aa=Giba&ajRQ zhdFLP68rCLOM2?r1q0@+`JqT{_zAGt4jcEI;-PnoI4BtJ*I$9oPiE z`~SLKnAMauRWKCqzva2I*37!Q(O&DMyAf-+UyGj~B3;syFQ-UHB(=x)tQ?)GQrc5M zHv`kZ!7!$EQNUNw&VPDK@)<8V@P+k#_8TNaS1jD)WW zrinvwQo5S+9F6QQ>ai^mh~D^e+ecBoCF-U6H3(T`)WkStxnpsOnv6`tVQ{=UUt1)# zGPVR)Gi#x%?_UrH?er0=J7L%ufUNLv7(r-30A(2Y5uQFk9lJ1{P75;gCHi)Cxaix9 z#j{ej6HAFwTQWP@AlOfgnc%_znDP5G*`9h_To$(@&v|)!T@|D>t4;M(NEas&yN&F9sww3ea79lY2zY&$V`(}qf{Mvdo6LZ3 zH-pq=OLg(CmCt+GUT$7SRLU z`n_I9MS4hFfO2)^H)1lf$nx)&?CBXIBg}8<+)I1`)9dmi|12+(;2i(Sl=i0S#}pY2E~$zjuyO9#eN zIwX;>6sFS1T6ZbeCQbJb38TFzOpC<=6oK}ML2MYw6~?OAE?z3p?Vd@!-vzj!QfdQE z*o%w5xZK*Xv>R&MztQAcZn|T?Y&|DSu_cQV0!Mck5jC^r#o1@(rdX7*L;VokgRhaY zB7{2ql&nE<6O#<#oVn)I_Yp0zKJB8G^-OsiLvuT4cWfC-F(i=!D%en{bSsCq&cqD$ zxMx8wS>FL%YN@yAX30}ERcjsX8mUurS z`-oC+_O#IKlq6>e3Pew8)lu1<3-&1K!7xYL&4{i=UnqjyNF)E7wL^Uv@r1#)25d4jGL&hC4hPQ-PdPVWm)<9~oXsIi}ZV zErhpn(z=4F9Wh27ieHUV$^3O`k*Zow;OysdF`bK#m$w{;jU6qZGjf zLitBHGvko2%=T(Fa#P^hY03U24;k*GlRH{6yNuMKj1=+F)i9w|e!P)q0+DDp9}_-h z36~Tqk7<`%qN$o(p%-pq)M zgV*Jo_EC#PrjTeXSddsE06`)c%@xTEz^M-M4>VW!pnZI0Owkdfn&2eNi-(GWj~;}B zG9;Ev2;{wSKT||n1Rk(}OnKvex}ZRK<&S;MR19MRE6FKq1Wc77`aIme&v$vZ%bdIB zy(1>iBkcrA%6U5~FR9Uq19b zYuq9%m;SVbl;4hUc&wI_M)?yCp@>NV81oAWlj4@gIB&{!Dq@^UzqXgyZCT`@`+Crz zP+9z~#^4s8!aVVt;2wU;zENc>Zn>O2>yg`Mx+6A+6Q-rcp66EE#C!4E~jEjik|$T=7q7Z z6^43LQ3$4jk2Rt~VHm3>IyHbfsB6{rLm(s#QK6f-YgfKIY95guXVo^LgPlx7DG-7H z1jvge<>!QjA&vU=GN^vTL3$!pW(oqXG`Jk-a_8nqG0R5)$g%Jf;C;)-Odrd!eGJ5A zvy2QaYkAGQ|P_?$#az;lGH3Lb3Iv2zEYTK@lPv%ncS6rmY1fkb5cQzJM+tmz(duUs&My`N8THwX?Kf1mVt#!Id+=XtN^Mj4GH-`6mlo4sQr>xA zb!oRZ+OHt;1x)Dj%4qd*h)&>VwYCRfRgAIM34iB=v>QVCJ@rhv!G6h5bt$^gk9RF` zZ%*h}YG)J*Yk7k)a2#LNsExsly($a7k-n=?IB=W1i8J$5te1rNHavNfBR~wSep0=0hYfy*$n@Vvy zI6#Z;o2B!R29Ug_svWNjdbfR?Ts*OTmc3a^a8!F_hSMpkKIfNmxs%iyP`q?>!)3t1A_N493-?fOZzuB~n zHmGR!Ek&k^oo3&}u7>2)nX_v6^4Q;E%r7pc)bVqFJ)b_zO(tcY_K?>7k#2q^@(nSf zYF2U7a>Ji{hG|@(Rx~y$w>ujzHWy;4Ewq4WLWY^%OLPOr+UMS&0BQi;@!YN*{ z$R|6K71TF4_p~~&f`H@d;ihltUHdD7YssrhyI+bbn%94F6(yXs5FR{K3%QI}S}N6i z5N*5s-AeN5x1BzF+?C21E5%r_m|yIQdaLcnIZ-R&@L-~nuxok?9Fdj0VeE!iNQIFj%>BKCl4^LqN2cSKJ#_=_+P zJV0pCfQkGYVCZiPcl1-X8pAgf{hp4tPK| z2gSuTYQ4=YiLU27(#5a#Gq8J9Ov$`jZZ<*@X0>gK19Gj~SK3z|yYjLB04(sF~ccD1_Rmy--T z`&NoCUU~?$O|-kR5nM;_i8*m%xQvyscuQuaCRzCIpJoOmHQtFh-Y;^ky>0b*!)g`NW0$bbk(Ixr>cf7rx7j#BN(IY3F+L@O+x8{HZ*>a-$ z0Lo9IP-mJ+bDk)6dmiHLU)+E`K!-;QP6*}ZJLM?#Lp~E2Xi2%R&*6X7eVAgdzrJL)!_)57A*cK4us1nLq2Z<1 zsPYvKsZ70@Op1N!>MVL(FM_1Ambt76!xJ1EZJMxL9$FoG=on5QGl9tr5}P+0SY40* zTM9}0Ze~#z;|@>5%SMA-Zq;&khq~e$Ln<9C!~r5KGM^J=Xbsibt2s(Y#%eT|3X6PF zlCeVDmWvLn`$6jIP|%BJ{ag2@nL<+IqFO^b=1&i63Ui}YynIw4B&~Z^>U}b7lqy6% zu_a|qhn%UN2kdPgIW`4L7u=NrixbDs6nHv{StoK*C`G8o%#L5}9i%k+O{OZ(Jv(j9 zfF`&^H9<%^?^X7m4b-Lms%x~O4ta>4aWQhaN!%{Bt zBLz>R`C*Hij=pD?(%HV&vw)tK5z~fJ5S5*P}{au{{g4q;eJ|oo&Fx9XXzSaBy*j9MCW4yc55l;Hk&=g zmG}FP6MjS*@fw=%yrr+d#y~7G_shTchLVTYq#PLBpz3PIY^8>=UvLZDnNB2gybX|O z_F6mcSo!*G7FvHcbSml>!=InJaopa`SErmbZo%V6FiB70v>@s80Oz(~-Z?1?*tp=e z_z}wc3$#){L8>t-JfvVOm_HdWvk@fn6*UG0Mr+2*S9pu;Iq$97GEFSJyBM2m7_)e& z-Dv+gA^BZqY}_gYJ#^pei+Y@%7N*uH%Qx-2cxGS1nigMDw~!&4Q<2s8v1P+8?!)75 zYJIs!+)^FNOa^yFZrPt5jNU6mtyYSP?3`RE=Va4YcDfWwz?r*Veh$_b>qo=+jtD>t zTno64Y?cL=LQ?I6?Da_iiAV$pMdj0nXDX^sp;QAJ zT)#Oz#fTf78vHMuQ7-&A);x1%+ft6c4Hk`#bMt=sgj3o4npeE)CNxE4n*Eign!laF zR?VfiD)|wwm79&JPvq&UZi#POs;cS7Lj7Yq;GpI+#kpGST(4u(; z<;t<&MT@!dN#6j+0IAl+!0K$J?^(ptw(XrDXoBr#?`5Jpc~bW1#m1#-#zUK>#4ClD-uZhr24^Bab4Nn zOmFT=>8fo#oM?2$RRr`B1Jg!lh=8tGF@DUI;zCZU3dsPtJh!<1+UJxR{;tHSMQc z{;RT23tYmrk@Xj3tq&XHniIk8?qnk`7nR<7zSqW7KhJ=|p$Q&o3xh6hb)hZs?scS+{afckkut1P5ah7Y3WhhYH1X7v{JT9uFF`q^_&zeVqksj6n$evozqUl~<7p7`5<4_ny6ckP^IP3#zuYSzRGu2u zaeDLSdTjW(U6^+Do6ce$=BV+@7n(DXtT{!9sqPHMd9`n|(2(FyhQ~`Pe$Oa_wbFh+ z-|JlN2-p&=T(3>ei%5+{71vTF+ISS4g6%=LMH}dO z)wrI=r#L;{jF5ou$)H_oLu{tSPOkHE+_>ypU{AejtvY6hk+`*`<5gk&se;XnL0i$< zI-gOiow&DCk*+skX!Fk%+s--{8z<$L10BU3tu0Nhql{0-L=;yYTH5VA|WsLY0yJYq0KZs4~4)v2r=90VE-hphof zEGjT`S$cgHZ6}((syh}kpl%D9Cry6-G2w^!jtlg7umO8ycH$wwvy!gobZ-T_c-09j z40rB>HM6Jk2tl}zXmXnW*1Kd%HPb`mikzhG=`xw+2dhKjXfBGWXOZD6L`ebVjNpzE zZ&qRQ`CoR=FzUk5EEWVqA{IKY$3Jd0pV}6V=VgYfF~rHnBuDV6J^yZxQehUjj&SYN z(DZiYZ6)KVx>td?_S*jc2pS^g-5M3Aqv#UxCDpnwG+OYC@Z1OQ$~ zJjdRE*Z@p@#M{~e3INk*?Tq7Xa&YGR z@1FeiPqzE410L30T5#rpw%4xNH9tDbg?*N%^LzGg-YhJ8^6c!Jz@0ton>c={qvMfzr4;a=jl9K>2rq8e4bs?aGI=rt}bPBnjX06@%4KcAo3>3 z-Sg7O|C*hPS6IN;?E5pB)6;JzWLGD5W_RtKXy(_8-(wl~HnZnj1>MkFd75*aCn^Ip zmEVNXPM8{JB}FD|`c|$jrXO0)ew83wyXI>SVo!IYIdNqJJn(cL<>*T`^WkJo-SZxH zbz>}WLGj)vpR4vv_c^CvhFmL2W*(*wR1p|`_UC_$-+!nqU`eVFKuwRdC_e4cC$?L0 z^r0d9qEODv2X4%XB$3zxTRb8*Uv34ja?fsopu2Oc*(<{A(HnBs`%Sc58vAei12 zHF0ETEL%k%gf6$9ot@F1hk1x{X^z1ID&KG$^PhSqw{^F}Ve#hOz%XZw!a_+3kI#iz1 z=W)$BcNP!Lf4F`hcKu3b7`BQ>t*+lE{?|L1Z{_S{lAPLgmU;7XF;zM73FehB(D=Z5 zpQlTO@qKyDK0fi4H2JSi%hu*>c4sv|Kqhs3o9kcR)}}tdZw*icO(e-WU3JA&3)G#% zGn&e*0zq;bsEE!*h$Zn^VIHnb0bhU9wSsx~-`2Z*hQ%<~7$|L~vUkxvDamJ)&*{6r|m$K{kALEKGT(xx0>RaQrW_UaZy${{A z&iv(g+wao+(B^k{Pkp@T=584Iz#Hk0ZszW2OmN7ZlsE2m_# zp6Wi$fM2F7#b#&r))klk`Cn&(-@lK)&w|~C{k8s*OEwIH_XE=uT{V3->iBfNQ`T-> zo{fJh)9B8sY>Jw>rw`Q745~BaHr%IlK2-?b*)Ib_SBp-br*|e&kwvBT&@2vqr189r<{uz?SXww_GF}_L9V8w*&{$)8TZ`kBx{;H&1}{5 zX6>9BWt)mP!@(`-87B>?WH0VIPJDkJOa$2%1vA(dbx!DS2a@N%YaTB}fXcYG9;b(PjXQi%*e?tdO6E z0hNSh;E6E8jUgi_3;^CnJf<2@0GQf{`_f8K4S?z8#L9d=gos&M*ZGP(kJe~KZLQUa zHd<3!0svANR*X68`np?NiS@nRMsnG=S&VD?#M=+m>6bTWomTzNQ=XdPu@ArgU-{`h zKj)|VdiU`C^>H_U;ajhWBX#urs)&qrkGuF{Y*^LyU&#K``<1D?bg&9iU;)2 zbYqHqex52a$6aJOJ6}Xj_4N7GSHbP+*-H4;y4kPIJ%yp;o0z>B=(7M--n-xZ&DbPl zW<(cs(^t}Ydgp3iK=Dxl!_J~PC+C?S)jSE?1k+cqJ^t}w&qv;phs>A0NqW;1vuyh9 z94hJPaxEV4a4HjksM}L{DvM%BQT6l*nBE-MKlgTajbWvimocCKFr*RJxdaRVhI{wqf^cH7_}=&R$R`ERz*=jxZCle;R%^-tfV1nT53e1w zeZ06dc4uLrak2J4zc_ii>01A_#r$}}GWlzB(f6L|f7o}M(Qcw{CG``{xz4u6WpB6l z6{WS1f{vbFYxVT2xic%+C+s3;-!*G8R5ss2zfVg$lj+QCH+=m!v%c@iYidY(Mk}*( zdUD_t)wd@XI~y0y_t2dbTsg&|STAlT-t-sVX*|a@=ujk7l2FavwV6{CopUv6-Vx5} zfE;KR{xdK&7)^K$Fz4DQhhAvHt=YKyki0bHY4b3^RKbY4>V8QLPj&0Pvpt+)0Oq{M zU70;=-5Sr#$;l#uwO}emBl{_4ig~hX+oI|1>(7@Z%BFijFrD$+WA66Oh5qo4oxuId z5|gGoqCKzR2WYsno3)`2)faREoS%Y6h=KQr{4-E&hgk-58B8H$H~{Mlrc5Yh@|EBe zaKaqFLN-XYBv|Cj;9F%I#{&eDB}zNBVCHZT8tY3e#H~Y(fo)gIr$;!s(#})^F{l=?K!Qt~!*hMd`wK4tC_3%FI2Id z_mxomEM#`lYUFuq=ycw#-QPc#57giN`sg>=8N>gRJ=5vEi3L?apHPyiU#i04uR3IM~c^$6e&jsJLUquPg# zhWCxOtwmJb)~ewG0BrxJ*5!F$2arAb)UDd?eOU6{9NC@Hb1lJ^-Mw!(KT>R@%?=XP40*J z*BP^m{lHM#T49(7WmB2D=MHV}`ld9#7bdY%1a_VXLf zPmL;ZPd}WZcsuWj@1$cOP0{!a{7plKbb`=L0?rbvVsyMGtC}qGnR}|KV*Wd4Gt5qE zH$AYp8ORUCpqaf3_EAA*U;g*{Z_TpiID0udJ%5YLvAEgY zuH^X?@B8diV)_0gduGQ%Z>PH0=TO`~mpy&ldKvZhcFyPbTxNIIfhw{qef4~QQTeHU zhMl=98CQQ!GSdZW|Kj3Y#TojH`}}8@eNh&&xN-XOE^&R#nlRud|6jcNS#z>89xV zw6mAKXl9GM$Zp9y2c|G~gTH9JSwHH(aGO^*6mW8-$ta7=W`>9_1Da=nsoF!)%^nO* zc3M&A45|M?x(qP2@$|rsqo#J6nI7k&7SS$kZy=Wv2$lUPjWIYVotDca+EF?ixP5@c z=m#Mg!2tsX@P#p!jFQZ80n)B&9gMMwWfHF1QDI1g4)Qc>^f#>tcuZpeIR!ux0DflN zrs+F$;b2&j`#^Ln;L#LLe&o#R1baJbVWHO6+D4U95&-a=-LPTL;qM85 z-YC6b_uhZ?m3VacVf(n|@UA}gUSGTa_R6PxyvUyULtUOPuD2}h{9$>i#sB=+efG~j z&nI3B=UYEV@9^`ydhqgj+tsezRcEezAP@X6^+hE;E;>hoo!Iw&lg)GZ#63H^}sT5$aLM)$@Vl$YAx^1A^GIw3{^#{PBEwZOq3UQ;Vk3xCgb!OwJK|JvXe@Y zh_z#?xstW*oSLpW841QIy4p>IMG^&@G_?UE%w-V5RtsjeZ;5o2D&Q>%Z24@_u0SLh zb3s(%OIxtPKobVLar6tgHV9*a!(6z}yv zf6l4y(z`rWRp)gjgZp?o7H@@riMs$SO zZ=`C1q8bp{!-Y0A6q6+*NEBC|Erh7ZKcH8D0q|Kb`&e2|+a_AYz6v<2?3)NDYk=xXpPt zX{(pAgTnRLNAKd>A-iuo!Wy+kv^5Qv1ORmJfBz@nv3qwaY9D_l#?HZd$MkKx{R_Q~ zpQHb9^s@RLOb9b?XU(_wkM<4u?aiT08%IyJM~!PQioQ>^ZYln|B3_q9dM%yiO=!_1S{{9f(`*cLUOy=GDROe7`{W>UB5t-CtZ)cx9XYxy4XPVjc=Q;R- z?_s@6#OS6-;LbUwo;|jh{7d(AfT?SsF21{~vVA5$v@-9kK2dmCz$iAWaB@-aYFG2% zd$Q&0RPIurbCpK>bmyH9W5@xa&UwgjLFp>$WKY}NT&#_Cug+PZl}x&!xCqz843*zz=$WpT=UmkO=lNX8Np;hj&<9?zd|*1 zo~(uoknjPhn+5>@fS_Y2A%r}S2g}Gn8a@EtHvrafz?pwYh29O&ASC(82tXE{h!lY@ zkT5m~?L=UJB@kGcXZmv#0Z(UVQvd{I-T(jq0002vq!3{P0002=L?f{m|BwHa|B(NK z|8f6%|6Ko6|5yJ}{}fi9W$b+n9sr2wGLCIbM1clyb6NwR9E;Cm*45?viUOk@ZEJ0` z7F0wn1OWhx9Cu(jdA1!@1I_!l)BDGd|F3Jm^BV^_ByMN<aJ@J>B?9b%%1{m(zg4yf^vQhNHd;}GDv$r>9X-+TKP@tT? zRH@^s`uecHhq_n6{l7KUu&{}<%NIPL6h z$U~Vm!2ron(V4FFN@= z^#A~gjWW|%kg;upx&;#E2o_<44FG-zV+&dXj)`u>0)V&Kh6W@7R79GWG=N$f0G?%B z#~Ne;gJI}0E^Ul@01=LO_k#SYSu8_DK?lV5)z#ERpMSDi8>4NjZM9liCIJANcNh8Y zUZET96#Xr)gJdl?I&e>u!;<(2^KBIz|X_~zH zwVPqNDxOVTJtecAdgZszJ49M{(tQf1tz|as{T>f9QeN%{y1=`3&7ZDB^OYI;=v zrn_OyVvH{erU0ihhbn5Sp!G5~+3e>H<4yBpisz1#%61og8cogJP_wPxHhCv`Tny86 zwMfl11y)ndg6PWGnmlABOEjHiaTq$bOlva9QMH_pAX{K8Bosrs0ig$prL&UX!Yi#1 zG6zHUEi7aVasv-3S`kkyF&TpqKnjGBffs%Me`2(LM4Pp>Pz|f3Bme+;{~b^56VmqC|K?cC`d;t- zV7@Qz;=bWBZm-kO{tbpV-E6~2+4|FFarN{6`kUuhi+^6u>1E&d{nufB{eFJ?+^(J9 z`^jHX$f_xIdfqxcB)>2E?)$Ji`4>x;fa=UFCSNu=1=$n~UEJB0Bp?oZ zY;12W{N@1LE8Dgm4?juKv)Om<&FrfB?qt^#ls3Lx;C$BLT?9%Jel|F-9HzMwn8sD7 z&~S0n9)>SxCQ3GK+=kpbGihhOGqeBx6->?5>EueY8>*Ady#3JsS4Gj}Ly>~n)5_8Z zIOF80sCKf_FwwM*lR0$t+ruQC_tOC<=IaD9Q&&+t^~#MC=rRo?Uvu^bpSxFApT}M6 zW(wzQzq)ISWVWp@_tANs(8kqPg{S%9iCwKv#Wn9`62mqkVc=i@Z0N_<>`r)P7X13G1ZUse0Bih#5 zHq5FPQiBEnVAC^0-h1ng#y)p=Z~OlkO}ySOUfw;O{D0p#KJnexzu~Vt|B$|XbNuhm z;;p}I`0vfhZ~Rz~8J9g+Ui^Ij-eSv7PqfcD|1?AziF4M7Z&SH){iv_G(&^d0s(D|B zntGDwrQa*N%-JU@ipdPWrww^tDtkn1vSHR)-kOYHSK_<1na&)RW^g4wkU7*o2FHc_ zRMtwuci(f1O)+1WzvDXPp%hban(CrztbUTtrDjx7oh%rv$qjG=Q+6jgkaRX3J$aFU zi`kd@pdWk{nEzVsq}Vgf=<2ufN<*{2#sQr~EEM#a%}UuBCvWqyefKt9*T)(D)8piWOl$CY=qweD}) ze4M?z|DLN4Y~S4Svb$DySMK{xCZzoEs$q_wW(|wYXBLMS$IZi=^HW87Bg6`A}++mBh%cGUx&7&vWzS~SM0n__Mnz{)G(a^g-DFk8N%Um@`)+q!``4DF zP9gcg(wNDE3cXXs&F+J7%{W&h_&fCsW=!Fjv8QNi*l|1zAlLKm{qK5r&-D6;4W%)i z88ws#{-oFaV{{$jQK;ar)z-RfpdW2sh#=XJ>N-mq81Yn1^+*fQbrR7{4L)YPtm8!l zK&ar#xQ}DdU;yBr|9t9?;y&y>c@?iSc*3Y}TZ`7hRF$Pt3IIU+LF06PI(}SUwihcO z(|P54G5=@zNw6Q7ZQiZ-rfpBJt}V|#_HRR9bD}%>-QCA`Z~EiEO@Dh>nL4%~&wcaj zC@(#-$xJSX3+j{qft#$KKQz=q?a$l0JS^kl-aDs=PO_QLm-$cIo$!0M9O9OryCCHtrn~#6HkC8e|9qyep8s@DW#wCY==~Ox8PUL0 zPdc1AeyHs9?DR+eQ$F1re>O^qHE@CdWuYb+vWZEfp=S*0gh55b<|{I zYTcc&epvh67c0qo!OO61I)CFYHiBj0%w{js=Q;kbtD=1i~Jm zE2I$sZ~)$A+^)+8VFSRH@m!V#0RY_N8%ze*|DIpi*S1y*YfZH(SyD^_08ky-JeH}R z$->gMcT;QEjxN+v-<%Hd(Z=D6AM+^|KY!eN^s{|DE+0L6e5>{*cmJ9knhu@PWq7F9 z{6@KI9k+TyTX}NkA;}t)MV$EX3UIE*3WMC04x*pesX(IOJ%h?hMpdj z@gBKV(H=;?jDDOeOJRG?r`vTi@ID`ko`!p`os}nF#O&UkFgYl1Jbq8_tZIz2V4b7R zr1IbBjH$qDzO~O~3_2aQuRq0O-TVAztKhN!we({I_0CY}X58@Wct3=!1O}Lb^<><; zm~5u<%q&k|+!?jf3#Wx5RJ~hLqZ|$lM6&_cpr>Xe>;aOIpBJYh03J5H?c)h<0-DcQdGc-I#zWO ztF|C2XY&PMs;RuEik?zI)P8FAGbXI?z2&QObr~UqAe;Gd>~fR0Ex?=OXgfY+kc<)|5G) z#79Mw@rFw6nn}mr)!Q-|GsUb^qn5e%E^06(b~cHo?_%2f{OPuAPw0ZY@kMHjnyTqN z=fVX^)pc?YHEY(eQRY0%!8t`uKH23QCdp2QDUokw_Y~0h;i)}Tc2h$R5COD!hui&` ztFv!Tzzp_E;lh6`9^7;TNx?o(3LQj1zb2i726X^00023faEQQ*aex%%f&t!Td|#F~ z7+?Zh#@BYb${iObaC18TB9xE%`~zH$NB*Kl+o*aY-So`i@llEugYlb^Xpd+XD^T6ypg)TmGZ*%x6QJD^{<*YCnHw= zzti(`RaEzWUixLe(>l90kffun>HmuMKg+=?ZNP_YdW!BYf6gS`hiR^FvMVdAAZzy2 zA(_LUnm(12`$XjIyhl#clY=tqCM%0~bUsa<;eK;!dsDt4r%OG*Gaqk;Zl;S5Lr=2( zb-&)%wxrrsJ9YMahK2+#7hOA3{`>9oMi6_==Ds=y#XSa^tby~=VyG_B(;&}-Vo2=L zbvG&bjrtStpK*uHnPVOBvs1wts9t_U&?i^KDeR;AD&>=Ql%m zc5EN>^89z`nRprYVXF7<9OpLISCwm#_jUfymbYhsz2~y^-C3$V(3qZ|T|p1~*2iZY zz5U)aV3@zZ;VGoA29xvCbhPKi@MhiF9ySF@O;m^yyU8}g;r?SLznvO(yr3|SKeKHf z^KiJ?hV|vy90&6ZZ|s|$n`I6=lxHFD<6{|S6PxR14oty;WgOE`_0Ap&(0vykR=N14Q5Aa{W`vBJF=Kt3KFxcD#05~3= S`}p8$G6iF5igV?e0-gg04{dY+ literal 0 HcmV?d00001 diff --git a/server.cfg b/server.cfg index 77ccebec1..19a9207d5 100644 --- a/server.cfg +++ b/server.cfg @@ -206,7 +206,7 @@ ensure thinline_leprops ensure tls_motorolapack ensure tls_6360holsters ensure BetterFlashlight - +ensure cd_doorlock ensure ensure firehydrant